【问题标题】:Adding a WCF reference via "Add Web Reference"通过“添加 Web 引用”添加 WCF 引用
【发布时间】:2012-05-13 09:29:09
【问题描述】:

我正在将 Visual Studio 2008 与一个面向 .NET 2.0 的项目一起使用。我需要添加对同一解决方案中另一个项目中定义的 WCF 服务的引用。 WCF 项目面向 .NET 3.5,服务使用 basicHttpBinding

因为客户端项目配置为面向 .NET 2.0,所以我没有“添加服务引用”选项。当我尝试“添加 Web 引用”并选择“此解决方案中的 Web 服务”时,我收到以下消息:

我做错了什么?

【问题讨论】:

    标签: wcf .net-2.0 web-reference


    【解决方案1】:

    Web 参考适用于旧版 ASMX 技术。 “添加 Web 引用”自然不知道 WCF 甚至存在,所以它不知道解决方案中的您的 WCF 服务也就不足为奇了。它正在寻找 .asmx 文件。

    尝试首先通过右键单击 .svc 文件并使用“在浏览器中查看”来启动您的服务。然后将服务的 URL 提供给“添加 Web 引用”对话框。此外,请确保您的服务公开其元数据,以便“?WSDL”将为添加 Web 引用生成 WSDL。

    【讨论】:

    • 我没有任何 .svc 文件。该项目是使用 WCF 服务库模板创建的,我认为默认情况下不会生成 .svc。我的 .config 文件确实公开了一个 mex 端点。这是我需要的球场吗?
    • 这是在球场上,但您必须托管服务。一种方法是调试服务,但如果您查看项目的调试属性,您会看到 F5 启动 wcfsvchost.exe 程序。您可以手动启动它来托管服务,然后使用指向托管 URL 的“添加 Web 引用”。请注意,您可以在 Visual Studio 的一个实例中调试服务,并在另一个实例中执行“添加 Web 引用”。
    • 我运行了我的服务项目,它启动了 WCF 测试客户端,但所有服务都以mex 地址列出。如果我将地址复制到浏览器,我会收到 HTTP 400 错误:错误请求。我不确定如何获取 WSDL 数据以添加我的 Web 参考。
    猜你喜欢
    • 2011-10-13
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2012-09-13
    • 2012-01-24
    相关资源
    最近更新 更多