考虑到数百个现有客户端,我们希望更改 WCF 服务中的一些操作。更新客户端需要时间,因此我们希望服务继续使用"旧"客户端,直到所有客户端都更新为止。具体更改如下:
- 为之前为 true 的操作设置
IsOneWay=false
- 更改
FaultContract
声明(删除现有声明、添加新声明)
我已经阅读了版本控制策略,但找不到有关此类修改的信息。我的猜测是更改FaultContract
可能会破坏兼容性,而我不确定IsOneWay
属性。
问:如果在服务中更改这些属性,旧客户端是否会中断?
我相信
这两个变化都是突破性的 - 但鼓励你验证自己的 cotnract。IsOneWay=true 导致客户端期望的 HTTP 响应标头与双向时不同。仅当您进行非重大更改(例如添加可选参数)时,才允许更改错误协定。