WCF Out Parameter position change issue

WSDL does not show the original method signature; instead, it shows the input parameters as a group and the output parameters as another group. When Add Service Reference generates client side proxy, it will download and parse WSDL, then construct a C# method with the specified input and output parameters. Since WSDL does not contain the original method signature, Add Service Reference has its own rule, which happens to be: generate out parameters first, then in parameters. Therefore the behavior you are observing is by design.

If you would like to change the order of the parameters, you can simply modify the client proxy in Reference.cs file generated by Add Service Reference. The reason why you are getting compilation error is because client proxy in Reference.cs file is generated in one order and you are trying to use it in a different order.

Additional Note: Although the order between in-arg and out-arg does not matter, the relative order among all in-args and the relative order among all the out-args need to be preserved. For example:
Service: Foo(arg1, arg2, out arg3);
Client: Foo(out arg3, arg1, arg2);  // This is OK.
Client: Foo(arg2, arg1, out arg3);  // This is bad. It may lead to unexpected behavior at runtime.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值