Web服务参考和C#4.0默认值

时间:2010-07-28 11:17:37

标签: web-services c#-4.0

我刚刚开始使用VS2010,随之而来的是c#4.0。

此后我一直在使用某些方法的默认值,这使我可以删除执行此操作的一些重载。

我的问题如下:

我有一个库项目,它有几个类,我用于其他几个项目的各种事情。默认值在此处运行良好。

另一个项目是我用来在远程服务器上执行某些任务的Web服务。编译此项目时,上述方法无效,未显示错误(或警告)。它汇编得很好。

但是,当我将此服务作为服务引用添加到另一个项目时,它似乎没有看到该方法具有默认值,因此抱怨我没有提供足够的参数。

我重新部署了我的服务并更新了服务引用,但它仍然是相同的。我还注意到,使用'out'参数的先前工作方法(即MyMethod(输出String arg1,String arg2))现在似乎都不起作用。

有什么建议吗?我不知道我已经更改了任何可以执行此操作的配置设置,因此我认为它必须是C#4.0。话虽如此,上周的论证是与4.0合作:S

感谢您提供任何帮助......

干杯 尼尔

1 个答案:

答案 0 :(得分:1)

听到Web服务中指定的默认值未反映在Visual Studio生成的代理代码中,我不会感到惊讶。您当然可以创建自己的代理层,这非常简单 - 但每次更改Web服务时都需要更新它。

如果查看服务的WSDL,是否表示默认值?也可能是在生成器的某处有一个开关来生成可选参数或与之无关(为了与C#3兼容)。

out参数完全可能是另一回事 - 你得到的错误是什么?