gpt4 book ai didi

wcf - 向WCF操作: choices?添加新参数

转载 作者:行者123 更新时间:2023-12-04 13:12:35 27 4
gpt4 key购买 nike

在不需要客户端更新其WSDL的情况下处理向现有操作添加新(可选)参数的最佳方法是什么?我不想更新命名空间来描述服务契约(Contract)的新版本,因为它应该与较旧的客户端向后兼容。

我是否应该添加带有新参数的新操作作为重载?还是应该将参数添加到现有操作中?

这是我的操作:

[OperationContract]
MyResponse GetData();

应该是:
[OperationContract]
MyResponse GetData();

[OperationContract]
MyResponse GetData(string filter);

或更简单地说,只需将其更改为:
[OperationContract]
MyResponse GetData(string filter);

后一种选择似乎最好,并且根据我的引用书,“对客户端的影响不大。服务中新参数已初始化为默认值。” WCF是否将其初始化为所谓的默认值?如果是这样,默认值是多少?

最佳答案

要考虑的一件事是您不能有两个具有相同名称的OperationContracts。它的序列化方式将引发错误。

最好的方法是使用选项3(仅添加新参数),并在方法逻辑帐户内将其设为尚未更新的那些客户端的空值。如果这是客户需要更新的重大更改,请确保不会因异常而使整个应用程序消失。

关于wcf - 向WCF操作: choices?添加新参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1752135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com