1

简单的问题:

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

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

找不到与绑定 MetadataExchangeTcpBinding 的终结点的方案 net.tcp 匹配的基地址。注册的基地址方案是 [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>

谢谢你的帮助 !

4

1 回答 1

0

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

于 2013-04-23T19:36:35.623 回答