【问题标题】:net.tcp service is unavailable for the protocol of the addressnet.tcp 服务对地址的协议不可用
【发布时间】:2011-08-31 09:05:18
【问题描述】:

我们的应用程序托管在 IIS 7.0 中。它通过 net.tcp 协议公开端点。但是我们一直遇到以下异常:

EndpointNotFoundException:无法发送消息,因为 端点地址的服务 'net.tcp://localhost/xxx/service.svc' 对协议不可用 地址。

我们已经检查了以下地方的可能原因。

  • Windows Process Activation Service 运行正常
  • Net.Tcp Listener Adapter 服务正常。
  • Net.Tcp 端口共享服务正常。
  • 我们为 Web 应用程序制作了 net.tcp 绑定。
  • 为 Web 应用程序启用了 net.tcp 协议,如下所示。

在检查了上述所有位置后,我尝试重置 IIS。还是不行。

这可要了我的命。希望有人能给我一些提示。

我搜索了很多。似乎这是一个非常普遍的问题,尚未完全解决。我认为是时候结束这种痛苦了。

非常感谢!

【问题讨论】:

    标签: wcf net.tcp


    【解决方案1】:

    很难说,但你要连接哪个端口?

    确保该端口可用且没有其他任何东西在使用它。

    如果您使用的是代理,您还应该添加以下内容:

    ......
     <httpTransport
          maxBufferPoolSize="4194304"
          maxBufferSize="1048576"
          maxReceivedMessageSize="1048576"
          proxyAddress="http://127.0.0.1.:8888
          useDefaultWebProxy="false"
        />
      </binding>
    </customBinding>
    

    【讨论】:

    • 根据异常消息,net.tcp 协议似乎没有运行。不过谢谢,我会检查防火墙中的端口号。
    • 我重新阅读了您的回答。是的,还有另一个网站的绑定正在使用相同的 net.tcp 端口。但奇怪的是,站点停止,app_pool 也停止。这与 HTTP 体验非常不同,在 HTTP 体验中,我可以在多个网站之间共享 80 端口,只要一个网站在线即可。在我删除其他 net.tcp 绑定或将其更改为不同的端口后。然后重置 IIS。有问题的服务还可以。请注意,必须重置 IIS。
    • 我很好奇为什么 HTTP 和 net.tcp 协议的行为如此不同。是不是因为 HTTP 协议是由 IIS 控制的,而 net.tcp 不是(我不确定是谁控制它,可能是 Windows 进程激活服务)。并且这两种协议的控制方式不同。
    • 我希望其他人能进一步确认这一点,我会尽快标记你的答案,因为你提醒我另一个网站使用相同的 net.tcp 端口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2011-03-04
    • 2011-11-13
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多