服务契约与数据契约设计全解析
在设计服务时,查看服务生成的 WSDL 文档,有助于为服务、其操作和复杂类型制定命名规范。毕竟,业务伙伴会使用这个文档,所以命名规范保持一定的一致性是很有必要的。
设计服务契约
ServiceContractAttribute和OperationContractAttribute用于定义服务契约。任何应用了ServiceContractAttribute的接口或类型都是服务契约,而契约内的操作由应用了OperationContractAttribute的方法决定。这些特性有多个属性,可用于控制服务描述的生成方式和消息的格式。
ServiceContractAttribute
ServiceContractAttribute是System.ServiceModel命名空间的一部分,主要用于描述一组相关操作,并为消息设置目标命名空间。它还有其他影响消息交换模式、消息安全性以及服务是否支持会话的特性。以下是其暴露的属性列表:
-Name:为契约指定一个不同的名称,而不是使用接口或类类型名称。
-Namespace:为消息指定一个目标命名空间,默认命名空间是http://tempuri.org。
-CallbackContract:将另一个服务契约关联