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 项目
- 在菜单栏上,依次选择“文件-->新建-->项目”,或者如下图在“解决方案资源管理器”中使用鼠标右键,弹出快捷菜单。
如下图。

- 在“添加新项目”对话框中,展开
“Visual C#”和“Windows”节点,然后选择“类库”模板。 - 在“名称”文本框中,输入 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 unknown
nodes or attributes, handle them with the
UnknownNode 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();
}
}
} }
第四步,创建实体数据模型
- 在菜单栏上,依次选择“文件”、“新建”、“项目”。
- 在“新建项目”对话框中,展开 “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.最终生成的结果如下。

WCF学习之旅—WCF第二个示例(五)的更多相关文章
- WCF学习之旅—WCF第二个示例(七)
三.创建客户端应用程序 若要创建客户端应用程序,你将另外添加一个项目,添加对该项目的服务引用,配置数据源,并创建一个用户界面以显示服务中的数据. 在第一个步骤中,你将 Windows 窗体项目添加到解 ...
- WCF学习之旅—WCF第二个示例(六)
第五步,创建数据服务 在“解决方案资源管理器”中,使用鼠标左键选中“SCF.WcfService”项目,然后在菜单栏上,依次选择“项目”.“添加新项”. 在“添加新项”对话框中,选择“Web”节点,然 ...
- WCF学习之旅—第三个示例之五(三十一)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) WCF学习 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
- WCF学习之旅—WCF服务部署到应用程序(十)
上接 WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...
- WCF学习之旅—WCF服务部署到IIS7.5(九)
上接 WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...
- WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...
随机推荐
- centos 6.5 yum安装 mysql 5.6
1. 查看系统里面有没有mysql 的repo yum repolist all | grep mysql 2. 如果没有发现,则需要配置repo 注意,如果要使用5.7 或者其他任何版本,只能有 ...
- 丢掉慢吞吞的AVD吧,android模拟神器:Genymotion
安装图文介绍: http://padhz.com/how-to-run-android-simulator-on-pc.html; 刚好手头上有visual box,亲自试用了一下.新建了一个Gala ...
- Jedis 使用范例
public class RedisUtil { Logger logger = LoggerFactory.getLogger(RedisUtil.class); private JedisPool ...
- 从零开始山寨Caffe·陆:IO系统(一)
你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图: 其中,左半部分构成了新版Caffe最恼人.最庞大的IO系统. 也是历来最 ...
- js中push(),pop(),unshift(),shift()的用法小结
1.push().pop()和unshift().shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及内容. 不同的是 push().pop() 是从数组的尾部进行增减,unshift ...
- 2632: [neerc2011]Gcd guessing game
2632: [neerc2011]Gcd guessing game Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 144 Solved: 84[S ...
- 第一个Mac shell 小脚本
大多数程序员都喜欢偷懒的,我也不例外.相信好多Android开发的coder 在网络http请求方面,会浪费很多时间在接口调试这里..有时候,自己写了一个小测试,行还好,不行的话,还要跟写后台的哥们一 ...
- dotnet webapi 中添加Swagger文档
首先添加"SwaggerGenerator": "1.1.0","SwaggerUi": "1.1.0" 需要注意的是这 ...
- JavaScript摇股子
摇股子就是用javascript实现的一个简单的小特效. 下面来看一下我自己做的一个用javascript实现的摇股子. 效果图如下: 我做的股子是由6张图片,点击股子它自己会随机晃动. 代码如下: ...
- Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》
一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...