数据契约(Data Contract),订定双方沟通时的数据格式。服务契约(Service Contract),订定服务的定义。操作契约(Operation Contract),订定服务提供的方法。消息契约(Message Contract),订定在通信期间改写消息内 容的规范。
WCF 实现上已经支持了传输层次安全性 (Transport-level security) 以及消息层次安全性 (Message-level security) 两种。
传输层次安全性:在数据传输时期加密,例如 SSL。消息层次安全性:在数据处理时就加密,例如使用
数字签名,散列或是使用
密钥加密法等。
优势:
1,统一性
它是由多种技术的整合,但仍然可以向.net一样面向对象代码编写,因为它采用托管代码编写方式。
2,互操作性
它采用SOAP通讯机制,保证了系统之间的互操作性,可以跨进程、跨机制。甚至跨平台通信,只要他支持web Service。
3,安全与可靠性
因为它包含多种协议,故有多种协议的安全机制,尤其是SOAP的。
4,兼容性
它可以在新旧平台上使用。
例题
一个简单的WCF实例。
1,IService1定义一个方法,这个方法必须有契约标志。
[OperationContract]
string HelloWord();
2,Service1.svc上的服务代码必须要由这些契约接口派生并实现
public string HelloWord()
{
return "Hello WCF!";
}
3,运行 Service1.svc 若安装有WCF测试客户端,将会出现以下界面
HelloWord()就是自己创建的一个方法,双击它。
点击调用
将会出现相关结果。
4,还可以自己创建一个Windows窗体程序来调用这个服务。
在这个窗体程序添加服务引用,如图
添加成功后将会显示这个服务,如图:
实现代码:
ServiceReference1.Service1Client c = new WindowsFormsApplication1.ServiceReference1.Service1Client();
string s = c.HelloWord();
MessageBox.Show(s);
运行后弹出一个提示框显示。