WCF - WebReferences不起作用

时间:2009-09-23 10:22:37

标签: wcf asmx

在客户端,我使用SvcUtil.exe生成了一个代理,它运行正常。

然后我将WebReference添加到客户端程序集并调用相同的方法。但它没有用。

我的程序在控制台模式下运行,该方法假设返回一个字符串。它没有返回字符串。我只看到一个空白的控制台窗口。没有异常被抛出。在方法调用上设置调试点之后,我看到,程序在方法调用中暂停。

我应该寻找什么来解决问题?

我正在使用VS2005。右键单击客户端项目,然后单击“添加Web引用”弹出菜单,添加webReference。

3 个答案:

答案 0 :(得分:1)

“添加Web引用”和“添加服务引用”不是一回事。后者使用SvcUtil.exe(或类似的东西,有关于here的讨论)。

简而言之,一个是使用WCF框架,另一个是使用ASP.NET WebService的东西(wsdl.exe)。使用SvcUtil而不是使用wsdl.exe,服务工作正常,这似乎很奇怪。 WSDL与DataContractSerializer不兼容的另一种方式可能会发生,但我从来没有使用过wsdl.exe无效的cas ...

您可能希望使用WcfTestClient测试服务,并且可能为Visual Studio 2005安装.NET 3.0工具,请参阅here

答案 1 :(得分:0)

添加Web引用不会添加WCF代理,而是添加使用旧的WCF前API的代理。

根据对服务的绑定,这些旧代理可能无法正常工作。基本上它们仅在服务使用BasicHttpBinding时才起作用。

您不能使用SvcUtil生成的代理吗?

答案 2 :(得分:0)

VS 2005最初是为框架2.0制作的。

要使其与WCF一起使用,您需要:“.NET Framework 3.0的Visual Studio 2005扩展”