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

Posted

技术标签:

【中文标题】WCF - 在 net.tcp://..../Querier.svc 上没有可以接受消息的端点侦听【英文标题】:WCF - There was no endpoint listening at net.tcp://..../Querier.svc that could accept the message 【发布时间】:2010-12-01 12:48:41 【问题描述】:

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

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

Windows 防火墙已关闭

net.tcp 绑定设置为整个 IIS 应用程序的端口 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。

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

你能提供更多信息吗?

也尝试使用您的 ip 而不是主机名。例如192.168.1.100 而不是我的服务器

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于WCF - 在 net.tcp://..../Querier.svc 上没有可以接受消息的端点侦听的主要内容,如果未能解决你的问题,请参考以下文章

WCF 服务证书认证

Monotouch/WCF:如何在没有 svcutil 的情况下使用 wcf 服务

WCF学习大全

WCF入门教程三[WCF的宿主]

WCF / WCF Ria 服务在“IncludedResults”中返回关系数据

WCF--建立简单的WCF服务