WCF - 没有端点侦听net.tcp://..../Querier.svc可以接受该消息

时间:2009-09-25 19:15:00

标签: wcf wcf-security wcf-client

WCF - 没有端点侦听net.tcp:// myserver:9000 / SearchQueryService / Querier.svc,可以接受该消息。

我在IIS应用程序上启用了net.tcp协议

Windows防火墙已关闭

对于整个IIS应用程序,net.tcp绑定设置为端口9000。

我的web.config很标准:

<system.serviceModel>
    <diagnostics>
      <messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="false"
        logMessagesAtTransportLevel="true" />
    </diagnostics>
    <services>
      <service behaviorConfiguration="SearchQueryServiceBehavior" 
       name="Search.Querier.WCF.Querier">
        <endpoint address="mex" binding="mexHttpBinding" name="mexHttpEndpoint"
          contract="IMetadataExchange" />
        <endpoint binding="netTcpBinding" bindingConfiguration="" 
           name="netTcpEndpoint"
          contract="Search.Querier.WCF.IQuerier" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="SearchQueryServiceBehavior">

          <serviceMetadata httpGetEnabled="true"/>

          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

这个设置适用于一台服务器,但不适用于其他服务器...... 可能是什么问题呢?

两台服务器,工作和非工作服务器都运行IIS7。 唯一的区别是工作盒是Vista64 Sp2,而非工作盒是W2k864。

4 个答案:

答案 0 :(得分:4)

我认为您在网站的高级设置中的“启用协议”列表中缺少net.tcp。

答案 1 :(得分:0)

你在w2k864机器上安装了.net 3.5吗?安装后,你运行了aspnet_iisreg吗?

检查IIS中的asp.net设置并确保将其设置为使用2.0

您能提供更多信息吗?

还尝试使用您的IP而不是主机名。例如192.168.1.100而不是myserver

答案 2 :(得分:0)

当您浏览服务(http://myserver/SearchQueryService/Querier.svc)时,是否收到任何错误消息?

我还注意到您的客户端正在端口9000上调用net.tcp端点。此配置是否与IIS net.tcp配置匹配?在默认配置中,应该将对服务的调用指向net.tcp://myserver/SearchQueryService/Querier.svc

答案 3 :(得分:0)

可能有另一个应用程序配置为在同一端口上侦听,您也可以在此处看到此内容-https://stackoverflow.com/a/7254861/4446128,如果是这种情况,则同一端口上的两个应用程序都可能不在同一端口上加工。我希望这种情况发生时会出现更好的错误消息,因为这使我花了很长时间才弄清楚(我不得不处理许多通过net.tcp进行通信的应用程序),我希望此信息对仍在处理WCF的任何人有所帮助。