如果修改了操作属性,这是一个重大改变吗?

时间:2013-09-19 11:28:42

标签: .net wcf backwards-compatibility

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

  • 为{/ li>之前的操作设置IsOneWay=false
  • 更改FaultContract声明(删除现有,添加新内容)

我已阅读Versioning Strategies但无法找到有关此类修改的信息。我的猜测是,更改FaultContract可能会破坏兼容性,而我对IsOneWay属性不太确定。

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

1 个答案:

答案 0 :(得分:2)

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