【问题标题】:WCF Connection Closed exception on the 256 call256 调用上的 WCF 连接关闭异常
【发布时间】:2012-01-04 22:39:29
【问题描述】:

我发现一个有趣的错误,总是在一个进程中调用 256(可以同时运行多个,但每个进程的 256 调用总是会失败)

我们收到无法从传输连接读取数据:现有连接被远程主机强行关闭。

接收对 [uri] 的 HTTP 响应时出错。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。

什么是可能有问题,似乎是客户端,但它是?

可能是因为 Windows 7 和 Windows Server Web 版的限制?

【问题讨论】:

  • 在什么时间范围内? 2 分钟内?
  • 可以在 2 分钟内,有什么限制吗?我该如何关闭它?

标签: wcf wcf-client


【解决方案1】:

我预计 wcf 和/或 TCP 堆栈会用完连接。

看看这里:

http://msdn.microsoft.com/en-us/library/ms731078.aspx

看看是否可以调整 idleTimeout 或 MaxConnections 帮助。

尝试将自定义绑定添加到您的配置中。

     <customBinding>
        <binding name="mynettcp">
          <binaryMessageEncoding />
          <tcpTransport 
              maxPendingConnections="100" 
              maxPendingAccepts="10"  
              listenBacklog="100">
            <connectionPoolSettings 
               idleTimeout="00:00:00" 
               maxOutboundConnectionsPerEndpoint="0" />
          </tcpTransport>
        </binding>
      </customBinding>

然后在您的服务的绑定属性中将值更改为 mynettcp

【讨论】:

  • 我发现这是 2 分钟的限制。我可以在任何配置中以某种方式更改它吗?我希望这个限制是每个进程?是在客户端还是服务器上需要更改配置?
  • 我们有一个服务器需要做很多这样的调用。所以我们需要降低这个空闲时间限制,或者想办法重用连接。
  • 我的 wcf 生疏了,但我尝试生成一个可能适合您的自定义绑定
  • 如果我们使用 HttpTransportBinding?我找不到任何:(
  • @rene +1 为我提供有用的答案。谢谢!
【解决方案2】:

它在我公司的防火墙中。

感谢你的帮助 rene

【讨论】:

    猜你喜欢
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2014-04-25
    • 2021-03-17
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多