【问题标题】:How to add service reference for a netTcpBinding service?如何为 netTcpBinding 服务添加服务引用?
【发布时间】:2012-11-28 16:00:10
【问题描述】:

简单的问题:

如何在客户端项目中右键单击服务引用>添加服务引用...

单击“发现”它会引用所有使用 WsHttpBinding 的服务,包括 netTcpBinding 服务。但是在扩展 netTcpBinding 时,它无法导航到合约并抛出以下错误:

找不到与方案 net.tcp 匹配的基地址 具有绑定 MetadataExchangeTcpBinding 的端点。注册基地 地址方案是 [http]。

我发现以下 .Net WCF 示例非常漂亮和简洁,但在示例中,它没有显示配置文件是如何设置的,以及我们如何通过向导获取代理。

C:\WF_WCF_Samples\WCF\Basic\Binding\Net\Tcp\Default\CS

这是服务配置文件...(我不使用任何基本地址,我认为没有它应该可以工作)

   <service behaviorConfiguration="Canopus.WebServices.LogAndNotificationService"
    name="Canopus.WebServices.LogAndNotificationService">      
    <endpoint address="" binding="netTcpBinding"
     contract="Canopus.WebServices.ILogAndNotificationService" />
    <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
   </service>

        <behaviors>
            <serviceBehaviors>
                <behavior name="Canopus.WebServices.LogAndNotificationService">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>

感谢您的帮助!

【问题讨论】:

    标签: c# wcf wcf-binding nettcpbinding


    【解决方案1】:

    我认为当您处理 netTcPBinding 时,您的服务行为不能具有 httpGetEnabled 属性。并且看起来你的端点地址包含类似 http:// 它应该是 net.tcp://。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      相关资源
      最近更新 更多