什么是契约?
从SOA概念上讲,契约属于服务公开接口的一部分。一个服务契约,定义了服务端公开的服务方法,使用传输协议,可访问地址,传输的消息格式等内容。
换句话说:契约描述了该服务的功能和作用,它告诉SOA系统中的其他节点这个服务是干什么的
契约的分类
1、服务契约:客户端能够执行的操作
A、ServiceContract 声明一个服务的操作
B、OperationContract:用于类中的方法或借口上
2、数据契约:服务交互的数据类型。比如:string类型
3、消息契约:允许服务和消息直接交互。Message Contract
定义:简单的说,它能自定义消息格式,包括消息头,消息体,还能提示是否对消息内容进行加密和签名
对控制消息头和消息体元素提供了强力支持,支持MessageHeaderAttribute和MessageBodyMemberAttribute属性。可以添加自定义头,控制消息是否被包装(IsWrapped)以及控制签名和加密
(ProtectionLevel)
eg:
}
4、错误契约:定义服务抛出的错误,传递错误到客户端的方式。
、