翻译:Learning WCF: Practical Implementation
2015-06-25 18:15
253 查看
又可以学技术又可以学英语,翻译技术文章看来很好玩啊。
原书出处:http://www.c-sharpcorner.com/ebooks/free/95/learning-wcf:-practical-implementation.aspx
目录
介绍WCF和契约
Fault契约
消息交换模式
数据契约
WCF服务应用程序和WCF服务库的区别
序列化
WCF中的不同途径
消息契约
地址绑定和契约
服务配置
第一章:介绍WCF和契约
介绍
本章演示怎样去创建一个WCF服务应用程序。也包含了基本的契约信息和代码演示。
什么是WCF?
WCF是Web Service、Remoting、MSMQ和COM+的组合,它提供了一个公共的平台为所有的.NET通信,它是.NET3.0的一部分。
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/44c0bdbd810d47e8bf72c43a8681e07a/clipboard.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251811421897961.png)
WCF和Web Service的不同之处
Web Service中需要为类添加一个[WebService]特性,而WCF中则是添加[ServiceContract]特性;
Web Service中为方法添加[WebMethod]特性,而WCF中则是添加[OperationContract]特性;
Web Service中使用 System.Xml.Serialization命名空间进行序列化,而WCF中则是使用 System.Runtime.Serialization命名空间;
Web Service只能寄宿到IIS中,而WCF可以寄宿到IIS、WAS、Windows服务,也可以自寄宿。
演示例子
让我们使用WCF服务应用程序实例了解基本的概念。
![](http://images0.cnblogs.com/blog2015/495789/201506/251811599701162.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251812351116093.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251812495028097.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/18f832891d1e44e3af71378514be7c72/clipboard.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/6c9f47b14347408e95a4397e5da46c96/clipboard.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/d289bfcbc19b46e88f9555f3bff6eacb/clipboard.png)
ServiceContract:服务契约,用来描述一个服务;
OperationContract:操作契约,在接口中用来描述一个服务的操作;
DataContract:数据契约,定义用来传输的数据类型,使用DataMember特性来定义属性成员;
接口的实现:
![](http://images0.cnblogs.com/blog2015/495789/201506/251813004247461.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/caec8669d4b043f99a9b61e4b865caf2/clipboard.png)
使用wcftestclient.exe测试这个WCF服务:
打开VS开发人员命令工具,输入wcftestclient,回车打开测试工具;
文件->添加服务;
输入服务地址,如:http://localhost:60958/Service1.svc,这里是.svc文件的路径;
服务添加成功后,双击服务中的方法,如这里的GetData();
输入请求参数(value),点击“调用”按钮后可以看到返回结果;
原书出处:http://www.c-sharpcorner.com/ebooks/free/95/learning-wcf:-practical-implementation.aspx
目录
介绍WCF和契约
Fault契约
消息交换模式
数据契约
WCF服务应用程序和WCF服务库的区别
序列化
WCF中的不同途径
消息契约
地址绑定和契约
服务配置
第一章:介绍WCF和契约
介绍
本章演示怎样去创建一个WCF服务应用程序。也包含了基本的契约信息和代码演示。
什么是WCF?
WCF是Web Service、Remoting、MSMQ和COM+的组合,它提供了一个公共的平台为所有的.NET通信,它是.NET3.0的一部分。
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/44c0bdbd810d47e8bf72c43a8681e07a/clipboard.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251811421897961.png)
WCF和Web Service的不同之处
Web Service中需要为类添加一个[WebService]特性,而WCF中则是添加[ServiceContract]特性;
Web Service中为方法添加[WebMethod]特性,而WCF中则是添加[OperationContract]特性;
Web Service中使用 System.Xml.Serialization命名空间进行序列化,而WCF中则是使用 System.Runtime.Serialization命名空间;
Web Service只能寄宿到IIS中,而WCF可以寄宿到IIS、WAS、Windows服务,也可以自寄宿。
演示例子
让我们使用WCF服务应用程序实例了解基本的概念。
![](http://images0.cnblogs.com/blog2015/495789/201506/251811599701162.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251812351116093.png)
![](http://images0.cnblogs.com/blog2015/495789/201506/251812495028097.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/18f832891d1e44e3af71378514be7c72/clipboard.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/6c9f47b14347408e95a4397e5da46c96/clipboard.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/d289bfcbc19b46e88f9555f3bff6eacb/clipboard.png)
ServiceContract:服务契约,用来描述一个服务;
OperationContract:操作契约,在接口中用来描述一个服务的操作;
DataContract:数据契约,定义用来传输的数据类型,使用DataMember特性来定义属性成员;
接口的实现:
![](http://images0.cnblogs.com/blog2015/495789/201506/251813004247461.png)
![](file:///C:/Users/%E9%BC%8E/AppData/Local/YNote/data/qqE44D91E8625440235A1D4C748D6EA5CE/caec8669d4b043f99a9b61e4b865caf2/clipboard.png)
使用wcftestclient.exe测试这个WCF服务:
打开VS开发人员命令工具,输入wcftestclient,回车打开测试工具;
文件->添加服务;
输入服务地址,如:http://localhost:60958/Service1.svc,这里是.svc文件的路径;
服务添加成功后,双击服务中的方法,如这里的GetData();
输入请求参数(value),点击“调用”按钮后可以看到返回结果;
![](http://images0.cnblogs.com/blog2015/495789/201506/251813372363147.png)
相关文章推荐
- cloudxns 好玩的智能解析,隐式跳转
- JavaScript实现获取动态密码倒计时效果demo
- PHP 实现appStore内购的服务器端验证
- poj3349
- Oracle中RAC Failover 详解
- OJ——复数类--重载运算符+
- 面对层出不穷的新技术,如何保持百战百胜
- Redis 事务总结
- 深入理解Hash算法
- nginx学习笔记
- LOGSTASH+ELASTICSEARCH+KIBANA处理NGINX访问日志
- 得到插入时的自增主键ID值 LAST_INSERT_ID()
- IOS7 导航栏适配二
- XCUIElementQuery API
- 第十五周oj刷题——Problem N: C++习题 复数类--重载运算符3+
- 单例模式的七种写法
- Maven学习总结(一)——Maven入门
- Linux MySQL主从复制(Replication)配置
- mysql jdbc 版本问题
- 第14届军警狙击手世界杯:中国队包揽全部冠军