0

考虑到数百个现有客户,我们想更改 WCF 服务中的一些操作。更新客户端需要时间,因此我们希望该服务继续使用“旧”客户端,直到所有客户端都更新完毕。具体变化如下:

  • IsOneWay=false为之前为真的操作设置
  • 更改FaultContract声明(删除现有的,添加新的)

我已阅读版本控制策略,但找不到有关此类修改的信息。我的猜测是更改FaultContracts 可能会破坏兼容性,而我对IsOneWay属性不太确定。

问题:如果在服务中更改这些属性,旧客户端会中断吗?

4

1 回答 1

2

我相信这两个变化都在破坏 - 但鼓励您在自己的合同上进行验证。IsOneWay=true 导致客户端期望的 HTTP 响应标头与双向时不同。仅当您进行非破坏性更改(例如添加可选参数)时才允许更改 FaultContract。

于 2013-09-19T13:29:58.707 回答