标签:
服务契约
服务契约定义了服务向外界公开的功能,这些功能表现为服务操作,在SOAk ,经常需要交接一组SOAP消息,而这些消息的模式通常是在服务契约中定义的。服务契约还可以进一步定义每个服务操作的消息交换模式(请求-响应模式,单工模式,双工模式)
数据契约
通常,需要把一个或多个参数传递给一个服务操作,并等待服务操作返回一个值。消息参数的结构在数据契约中被解释为XSD Schema,而XSD Schema是WSDL文档的一问你。数据契约定义了客户端与服务之间信息交接的结构和内容。
消息契约
消息契约属于高级功能,使用它可以对SOAP头和SOAP体进行更好的控制。消息契约直接与SOAP消息交互,而不只是与消息体交互,当使用数据契约而不使用消息契约时,就属于这种情况
契约与代码
汽车租赁服务-----实现示例
服务契约与数据契约的版本控制
双向版本控制,IExtensibleDataObject接口并定义必不可少的ExtensionDataObject成员。如果DataContractSerializer序列化器在XML文档中检测到未知的元素,地么在反序列化时,会把写入ExtensionDataObject属性包。当再次引用ExtensiondataObject对象的内容时,它里的内容还将保留,因此在数据契约的不同版本之前,数据不会丢失。
如果不同模式之前没有必要严格保持一致,则只需要注意以下几点:
可以在任何时候添加新方法
可以不删除任何己存在的方法
参数的数据类型必需必需保持兼容
标签:
原文地址:http://www.cnblogs.com/MiaoXin/p/5892275.html