WCF操作合同:可选参数支持?

时间:2015-09-16 08:42:57

标签: c# wcf

我有一个WCF运营合同如下。我有一个要求,其中该操作合同应该有一个额外的参数来处理客户端场景。但我不能改变其他各种客户使用的操作合同签名。

据我检查过WCF中的操作合同,不能有可选参数。还有其他建议吗?

Code GetDataElementes(String MyType, String MyUniqueID, out DataTable dTableOut);

2 个答案:

答案 0 :(得分:1)

WCF操作可以有可选参数。任何可以为空的参数都是可选的。客户端可以传递null,或者他们可以省略他们发送的XML中的参数。

此功能对于向后兼容性非常重要。

只需创建一个包含所有参数的方法,并处理一些参数为空的情况。

关于out参数:创建DTO类并返回其实例通常更好。所有输出参数都成为该类的属性。

答案 1 :(得分:0)

服务上的方法名称必须是唯一的。您可以为方法使用不同的名称,也可以像这样设置Name的{​​{1}}属性:

OperationContract

同时查看this可能会有所帮助。