【发布时间】:2011-01-24 22:10:07
【问题描述】:
我正在设计我的第一个“合适的”WCF 服务,并且正在努力弄清楚如何最好地处理服务的版本控制。
在较旧的 ASMX Web 服务中,我将为每个 Web 服务方法创建一个MethodNameRequest 和 MethodNameResponse 对象。
请求对象实际上只是方法参数中通常包含的内容的 POCO 包装器。响应对象通常可以从具有任何错误信息的基本响应对象继承。
阅读有关 WCF 以及 IExtensibleDataObject、FaultContractAttribute 和 Namespacing 的工作原理的信息,似乎我可以在我的方法名称中恢复使用标准参数(字符串、int 等),如果服务是版本化的,那么ServiceContract 继承可以提供这种版本控制。
我一直在研究 http://msdn.microsoft.com/en-us/library/ms731060.aspx 和其中的链接文章,但我只是想澄清一下。
我是否认为放弃 Request/Response 对象对于 WCF 版本控制更理想?
编辑:我刚刚发现这篇文章建议使用显式请求/响应对象:http://www.dasblonde.net/2006/01/05/VersioningWCFServiceContracts.aspx
【问题讨论】:
标签: wcf versioning