在不要求客户端更新其 WSDL 的情况下,处理向现有操作添加新(可选)参数的最佳方式是什么?我不想更新命名空间来描述服务合同的新版本,因为这应该与旧客户端向后兼容。
我应该添加一个带有新参数的新操作,作为重载吗?或者我应该只是将参数添加到现有操作中?
这是我的操作:
[OperationContract]
MyResponse GetData();
应该是:
[OperationContract]
MyResponse GetData();
[OperationContract]
MyResponse GetData(string filter);
或者更简单地说,只需将其更改为:
[OperationContract]
MyResponse GetData(string filter);
后一种选择似乎最好,根据我的参考书,“对客户端的影响是没有的。新参数在服务处被初始化为默认值。 ”WCF是否将其初始化为所谓的默认值?如果是这样,默认值是多少?