【问题标题】:Expose webHttpBinding endPoint in Framework 4.0?在 Framework 4.0 中公开 webHttpBinding 端点?
【发布时间】:2010-10-02 12:23:55
【问题描述】:

我正在尝试使用 Framework 4.0 公开 webHttpBinding EndPoint。

<endpoint address="web" binding="webHttpBinding" contract="MyContract"/>

但是,当使用 WFC 测试客户端浏览时,我什么也看不到。如果我将我的 Framework 目标更改为 3.5,它可以正常工作。

4.0 中有什么不同的东西可以让它工作吗?

【问题讨论】:

    标签: asp.net wcf wcf-binding


    【解决方案1】:

    首先,WCF Test Client 是用来测试 SOAP 端点的,它不能使用 REST 端点(webHttpBinding)。

    编辑:

    .NET 3.5 错误地处理 REST 服务并将这些端点添加到 WSDL。但是生成的代理(即使在 WCF 测试客户端中)通常不起作用,因为 WSDL 无法描述调用操作所需的 HTTP 动词和其他 REST 特定功能。 .NET 4.0 不包含 WSDL 的 Web 端点(这就是端点在 WCF 测试客户端中不可见的原因)。

    【讨论】:

    【解决方案2】:

    看看这里:

    http://msdn.microsoft.com/en-us/library/w4atty68.aspx

    你需要把这个

    <configuration>
    <startup>
    <supportedRuntime version="v4.0" />
    </startup>
    </configuration>
    

    【讨论】:

    • 我将此添加到我的服务器的 web.config 文件中。根据 IntelliSense, 不是 的有效子项。无论如何添加它,但仍然没有快乐。还有什么?
    • 你在哪里改的?这需要到您运行 4.0 版的地方。如果是客户端,则需要针对 4.0 构建它。你得到什么错误?如果您使用浏览器浏览会发生什么?
    • 我在 IIS 中运行此服务。我将supportedRuntime 添加到服务器的web.config 文件中。在这种情况下,客户端是 WCF 测试客户端应用程序...没有发生错误,但没有暴露端点。即使我用浏览器查看 WDSL,也没有显示端点。
    • 也许你想把配置的“System.ServiceModel”部分放在那里。你的 sn-p 还不够。
    猜你喜欢
    • 2011-03-03
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多