WCF学习之旅目录

WCF学习之旅——第一个WCF示例(一)

WCF学习之旅——第一个WCF示例(二)

WCF学习之旅——第一个WCF示例(三)

WCF学习之旅—WCF概述(四)

WCF学习之旅—WCF第二个示例(五)

WCF学习之旅—WCF第二个示例(六)

WCF学习之旅—WCF第二个示例(七)

二、WCF服务端应用程序

第一步,创建WCF服务应用程序项目

打开Visual Studio 2015,在菜单上点击文件—>新建—>项目—>WCF服务应用程序。在弹出界面的“名称”对应的文本框中输入“SCF.WcfService”,然后点击“确定”按钮。如下图。

第二步 , 安装Entity Framework

1)  使用NuGet下载最新版的Entity Framework 6.1.3。在解决方案资源管理器中——>在项目SCF.WcfService上鼠标右键单击——>弹出一个菜单,选中“管理解决方案的NuGet程序包”,打开NuGet程序包管理界面。如下图。

2)      在NuGet程序包管理界面中搜索 Entity,找到最新版本Entity Framework,点击安装。如下图。

3)      安装完成之后,如下图。

第三步,创建 SCF.Common 项目

  1. 在菜单栏上,依次选择“文件-->新建-->项目”,或者如下图在“解决方案资源管理器”中使用鼠标右键,弹出快捷菜单。 如下图。
  2. 在“添加新项目”对话框中,展开 “Visual C#”和“Windows”节点,然后选择“类库”模板。
  3. 在“名称”文本框中,输入 SCF.Common,然后选择“确定”按钮。 如下图。

4. 在已经创建成功的SCF.Common项目中添加一个XMLHelper .CS文件,写如下代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;namespace SCF.Common
{public class XMLHelper{/// <summary>/// 反序列化成对象/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="filename">XML文件路径</param>/// <returns></returns>public static T ParseXML<T>(string filename){T obj = default(T);           XmlSerializer serializer = new XmlSerializer(typeof(T));/* If the XML document has been altered with unknownnodes or attributes, handle them with theUnknownNode and UnknownAttribute events.*/// A FileStream is needed to read the XML document.FileStream fs = new FileStream(filename, FileMode.Open);   try{obj =(T) serializer.Deserialize(fs);}catch (System.Exception ex){string s = ex.Message;throw ex;}finally{fs.Close();}return obj;}/// <summary>/// 反序列化成对象/// </summary>/// <param name="filename">XML文件路径</param>/// <param name="type">对象类型</param>/// <returns></returns>public static object ToObject(string filename,Type type){object obj;   XmlSerializer serializer = new XmlSerializer(type);FileStream fs = new FileStream(filename, FileMode.Open);try{obj = serializer.Deserialize(fs);}catch (System.Exception ex){string s = ex.Message;throw ex;}finally{fs.Close();}return obj;}/// <summary>/// 反序列化成对象/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="data">XML数据对象字符串</param>/// <returns></returns>public static T DeSerializer<T>(string data){T obj = default(T);XmlSerializer serializer = new XmlSerializer(typeof(T));try{using (StringReader sr = new StringReader(data)){XmlSerializer xz = new XmlSerializer(typeof(T));obj = (T)serializer.Deserialize(sr);                 }           }catch (System.Exception ex){string s = ex.Message;throw ex;}return obj;}/// <summary>/// 创建XML文件/// </summary>/// <param name="fullFileName">XML文件名</param>/// <param name="data">XML字符串</param>public static void CreateXML(string fullFileName, string data){using (StreamWriter sw = new StreamWriter(fullFileName, false, Encoding.UTF8)){sw.Write(data);}}/// <summary>/// 把对象转换成字符串/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="t">对象实体</param>/// <returns></returns>public static string ToXML<T>(T t){using (StringWriter sw = new StringWriter()){XmlSerializer xz = new XmlSerializer(t.GetType());xz.Serialize(sw, t);return sw.ToString();}}}}

第四步,创建实体数据模型

  1. 在菜单栏上,依次选择“文件”、“新建”、“项目”。
  2. 在“新建项目”对话框中,展开 “Visual C#”和“Winodws”节点,然后选择“类库”模板,在“名称”对话框中输入“SCF.Model”,然后点击确定按钮。 创建SCF.Model项目。如下图。

3.通过NuGet安装相关的组件,具体操作步骤参见第一步。如下图中黄框中的组件。

4. 在菜单栏上,依次选择“项目”、“添加新项”。

5. 在“添加新项”对话框中,选择“数据”节点,然后选择“ADO.NET 实体数据模型”项。

6. 在“名称”文本框中,输入 BookModel,然后选择“添加”按钮。如下图。

7. 在实体数据模型向导中,在选择模型内容页上,选择“来自数据库的 EF 设计器”,然后再选择下一步按钮。 如下图。

8. 在“选择你的数据连接”页上执行下列步骤之一:

  • 如果下拉列表中包含到 Test 示例数据库的数据连接,请选择该连接。
  • 或者选择“新建连接”按钮来配置新数据连接。 如下图。

9. 在“连接属性”对话框中选择对应的数据库服务器,输入用户名与密码,选择要使用的数据库。如下图。

10.如果数据库需要密码,请选择“是,在连接字符串中包含敏感数据”选项按钮,然后选择“下一步”按钮。 你可以观察一下下面图中的数据连接。

11.在“选择你的版本”页上,选择“实体框架6.x”选项按钮,然后选择“下一步”按钮。

说明

如果你已经按第二步中安装了具有WCF 服务的 Entity Framework 6 的最新版本,同时通过NuGet安装 WCF Data Services Entity Framework Provider 程序包,那么将不会出现此对话框,直接进入下一步。

12.在“选择数据库对象”页上,展开“表”节点、选中“Books”复选框,然后选择“完成”按钮。

随即显示实体模型关系图,BookModel.edmx 文件也将添加到项目中。

13.最终生成的结果如下。

转载于:https://www.cnblogs.com/chillsrc/p/5382337.html

WCF学习之旅—WCF第二个示例(五)相关推荐

  1. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅-第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  2. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅-第三个示例之一(二十七)               WCF学习之旅-第三个示例之二(二十八)              WCF学习之旅-第三个示例之三(二十九)   ...

  3. WCF学习之旅—WCF服务的WAS寄宿(十二)

    上接    WCF学习之旅-WCF服务部署到IIS7.5(九) WCF学习之旅-WCF服务部署到应用程序(十) WCF学习之旅-WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...

  4. WCF学习之旅—WCF寄宿前的准备(八)

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有"WCF 服务应用程序"和"WCF服务库". WCF服务应用程序,是一个可以执行的程 ...

  5. WCF学习之旅—WCF第二个示例(七)

    三.创建客户端应用程序 若要创建客户端应用程序,你将另外添加一个项目,添加对该项目的服务引用,配置数据源,并创建一个用户界面以显示服务中的数据. 在第一个步骤中,你将 Windows 窗体项目添加到解 ...

  6. WCF学习之旅—WCF概述(四)

    一.WCF概述 1) 什么是WCF? Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终 ...

  7. WCF学习之旅—基于Fault Contract 的异常处理(十八)

       WCF学习之旅-WCF中传统的异常处理(十六) WCF学习之旅-基于ServiceDebug的异常处理(十七) 三.基于Fault Contract 的异常处理 第二个示例是通过定制Servic ...

  8. WCF学习之旅—实现支持REST客户端应用(二十四)

    WCF学习之旅-实现REST服务(二十二) WCF学习之旅-实现支持REST服务端应用(二十三) 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,及创建一个支持RES ...

  9. WCF学习之旅(一)---Hello World.

    WCF学习之旅(一)---Hello World. 看了一些关于WCF的资料,从实例入手.记录自己学习WCF的过程. 从最简单的Hello World入门. 下图是我的solution及项目. 项目名 ...

  10. 【Linux探索之旅】第二部分第五课:用户和权限,有权就任性

    内容简单介绍 1.第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的 ...

最新文章

  1. 代码中配置log4j (同时输出不同级别的log到不同终端)
  2. 协同办公工具解决了什么问题?
  3. Vue2接口地址配置(webpack)
  4. C# 系统应用之ListView实现简单图片浏览器
  5. malloc/free与new/delete的区别
  6. python绘制动画示例_Python使用matplotlib绘制动画的方法
  7. Java DataOutputStream writeInt()方法及示例
  8. Android网络框架技术
  9. 一个scrapy框架的爬虫(爬取京东图书)
  10. Vue使用Mint-ui的Popup, Picker组件报错问题
  11. python机器学习实战_Python机器学习实战案例
  12. Android 系统签名(踩坑记)
  13. 【机器学习入门到精通系列】元胞自动机和代码举例(这一篇就够了!)
  14. MFC采用定时器绘制简单动画
  15. 韦根w34是多少位_韦根(Wiegand)数据传输格式
  16. python制作网页挂机_Python实现自动挂机脚本(GUI 打包)
  17. html播放监控视频教程,使用javascript实现监控视频播放并打印日志
  18. 轮询小案例-扫码登录
  19. 树的专项练习(补充)
  20. Pandas日期时间格式化

热门文章

  1. Ecshop主要文件功能介绍,Ecshop文件详细说明
  2. html5课程总结500字,体育课心得体会500字(精选6篇)
  3. 定量库存控制和定期库存控制
  4. 光伏电站运维常见故障及处理汇总
  5. 以太坊Ghost协议
  6. Linux regulator框架理解及使用
  7. python数字及字母的分离_Python 分割文本使得 字母和数字 分开?
  8. php剪切透明圆,php把图片处理成圆形透明的图片,做圆形透明头像,圆形头像_编程资料分享...
  9. 校园网页设计成品 学校班级网页制作模板 大学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品
  10. 面试 | 3.5 万字总结 Java 后台研发常见面试题