使用WCF时处理客户端的版本控制

时间:2008-10-16 13:37:25

标签: wcf

桌面客户端将使用WCF将数据推送到中央服务器。

当架构更改等时,请说100台计算机具有旧版桌面客户端,而其余计算机使用最新版本。

在服务器端我需要做什么来处理这两个版本? 我是在WCF中创建2个端点还是在单个智能端点中创建并确定版本并采取相应措施?

注意:我将从客户端传递版本信息(如果需要)

1 个答案:

答案 0 :(得分:4)

您可以选择:

首先,您应该使用其命名空间对服务合同进行版本控制;例如。如果服务操作发生了重大变化,http://idunno.org/2008/10/numpty将更改为http://idunno.org/2008/11/numpty

与数据合同同上;但是,如果您对数据合同的所有操作都是可添加的,那么您可以将新字段标记为可选;

[DataMember(IsRequired="false")] 

老客户会工作。所以这应该告诉你,服务和参数输出的参数也应该是数据合同;它为您提供了灵活性。

MSDN有more