【问题标题】:WCF - WebReferences not workingWCF - WebReferences 不起作用
【发布时间】:2010-04-05 14:00:49
【问题描述】:

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

然后我向客户端程序集添加了一个 WebReference 并调用了相同的方法。但它不起作用。

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

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

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

【问题讨论】:

  • 不能使用添加服务参考吗?
  • 我不明白,你已经生成了一个代理,为什么不使用它呢?为什么要添加 Web Reference?
  • 我正在测试它是否有效。

标签: wcf asmx


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    根据服务上的绑定,那些旧代理可能无法工作。基本上,它们仅在服务使用 BasicHttpBinding 时才有效。

    你不能改用 SvcUtil 生成的代理吗?

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-23
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-01
        相关资源
        最近更新 更多