C# WCF 之优势及特性
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。
简单的归结为四大部分
1>.网络服务的协议,即用什么网络协议开放客户端接入。
2>.业务服务的协议,即声明服务提供哪些业务。
3>.数据类型声明,即对客户端与服务器端通信的数据部分进行一致化。
4>.传输安全性相关的定义。
通信双方的沟通方式,由合约来订定。通信双方所遵循的通信方法,由协议绑定来订定。通信期间的安全性,由双方约定的安全性层次来订定。
WCF 的基本概念是以契约(Contract) 来定义双方沟通的协议,契约必须要以接口的方式来体现,而实际的服务代码必须要由这些契约接口派生并实现。契约分成了四种:
数据契约(Data Contract),订定双方沟通时的数据格式。服务契约(Service Contract),订定服务的定义。操作契约(Operation Contract),订定服务提供的方法。消息契约(Message Contract),订定在通信期间改写消息内 容的规范。
WCF 实现上已经支持了传输层次安全性 (Transport-level security) 以及消息层次安全性 (Message-level security) 两种。
优势:
1,统一性
它是由多种技术的整合,但仍然可以向.net一样面向对象代码编写,因为它采用托管代码编写方式。
2,互操作性
它采用SOAP通讯机制,保证了系统之间的互操作性,可以跨进程、跨机制。甚至跨平台通信,只要他支持web Service。
3,安全与可靠性
因为它包含多种协议,故有多种协议的安全机制,尤其是SOAP的。
4,兼容性
它可以在新旧平台上使用。
例题
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603170337774-782066569.png)
1,IService1定义一个方法,这个方法必须有契约标志。
[OperationContract]
string HelloWord();
string HelloWord();
2,Service1.svc上的服务代码必须要由这些契约接口派生并实现
public string HelloWord()
{
return "Hello WCF!";
}
{
return "Hello WCF!";
}
3,运行 Service1.svc 若安装有WCF测试客户端,将会出现以下界面
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603171355336-1094717610.png)
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603171533008-588916154.png)
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603171621805-2046995345.png)
4,还可以自己创建一个Windows窗体程序来调用这个服务。
在这个窗体程序添加服务引用,如图
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603171933649-2129576009.png)
添加成功后将会显示这个服务,如图:
![](https://images2015.cnblogs.com/blog/922042/201606/922042-20160603172241524-1562741223.png)
实现代码:
ServiceReference1.Service1Client c = new WindowsFormsApplication1.ServiceReference1.Service1Client();
string s = c.HelloWord();
MessageBox.Show(s);
string s = c.HelloWord();
MessageBox.Show(s);
运行后弹出一个提示框显示。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步