【问题标题】:Is it a breaking change if an operation attribute is modified?如果修改了操作属性,是否会发生重大变化?
【发布时间】:2013-09-19 11:28:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net wcf backwards-compatibility


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 2017-12-07
      • 2014-07-06
      相关资源
      最近更新 更多