【问题标题】:WCF An existing connection was forcibly closed by the remote hostWCF 一个现有的连接被远程主机强行关闭
【发布时间】:2011-10-20 13:02:05
【问题描述】:

尝试使用 netctp 跨 WCF 4 请求数据时出现上述错误。该应用程序在我的开发机器和从实体框架返回数据请求的远程 Windows 2008 服务器上运行得非常愉快。该应用程序在我的开发机器上仍然可以正常运行,但在我请求创建的新页面时无法在远程 Windows 服务器上运行,该页面返回的数据比我所有其他页面都多。

在发布这个问题之前,我已经遵循了所有常用的方法来最大化我的所有 nettcp 绑定属性,以防这是一个限制问题,如下所示。

<binding name="NetTcpBinding_IProfileService" closeTimeout="00:10:00"
    openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
    transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
    hostNameComparisonMode="StrongWildcard" listenBacklog="10"
    maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10"
    maxReceivedMessageSize="2147483647">
  <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
      maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
  <reliableSession ordered="true" inactivityTimeout="00:10:00"
      enabled="false" />
  <security mode="None">
    <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
    <message clientCredentialType="Windows" />
  </security>
</binding>

我还在 Windows 2008 服务器上启用了 WCF 跟踪,虽然我可以看到“套接字连接中止”活动,但它没有提供更多详细信息。

我现在完全不知道我的问题是什么,并询问是否有人可以对这个问题有所了解。

【问题讨论】:

    标签: .net wcf exception-handling


    【解决方案1】:

    您是否启用了双方(服务器和客户端)的跟踪?您应该在其中一个跟踪文件中看到错误的来源。

    我的猜测是您可能需要增加XmlDictionaryReaderQuotas 的一些值。

    【讨论】:

    • 谢谢你,但正如你所见,我已将所有读者配额设置为 2147483647,但它仍然发生。我将继续在 Trace Files 中查找错误消息,看看我是否能看到一些能给我线索的东西。
    • 原来我在服务器端的跟踪没有启用。然后我发现我错误地设置了我的一个端点。所以将这个答案标记为正确,因为它确实提示我去检查我的跟踪配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多