5 wcf
桌面客户端将使用WCF将数据推送到中央服务器.
当架构更改等时,说100台计算机具有旧版桌面客户端,而其余计算机使用最新版本.
我在服务器端要做什么来处理这两个版本?我是否在WCF或单个智能端点中创建2个端点,以确定版本并采取相应措施?
注意:我将从客户端传递版本信息(如果需要)
你有一个选择:
首先,无论如何,您都应该使用它们的名称空间对服务合同进行版本控制;例如。如果服务操作发生重大更改,http://idunno.org/2008/10/numpty
则会更改为。http://idunno.org/2008/11/numpty
数据合约也是如此;但是,如果您对数据契约所做的所有操作都是附加的,那么您可以将新字段标记为可选;
[DataMember(IsRequired="false")]
Run Code Online (Sandbox Code Playgroud)
老客户也会工作。因此,这应该向您表明,传入服务的参数和传出的参数也应该是数据契约;它为您提供了灵活性。
MSDN还有更多