桌面客户端将使用WCF将数据推送到中央服务器。
当架构更改等时,请说100台计算机具有旧版桌面客户端,而其余计算机使用最新版本。
在服务器端我需要做什么来处理这两个版本? 我是在WCF中创建2个端点还是在单个智能端点中创建并确定版本并采取相应措施?
注意:我将从客户端传递版本信息(如果需要)
答案 0 :(得分:4)
您可以选择:
首先,您应该使用其命名空间对服务合同进行版本控制;例如。如果服务操作发生了重大变化,http://idunno.org/2008/10/numpty
将更改为http://idunno.org/2008/11/numpty
。
与数据合同同上;但是,如果您对数据合同的所有操作都是可添加的,那么您可以将新字段标记为可选;
[DataMember(IsRequired="false")]
老客户会工作。所以这应该告诉你,服务和参数输出的参数也应该是数据合同;它为您提供了灵活性。
MSDN有more