【问题标题】:WCF connections are aborted incorrectly / existing connection was forcibly closed by the remote hostWCF 连接被错误中止/现有连接被远程主机强行关闭
【发布时间】:2012-05-13 06:12:03
【问题描述】:

我有一个使用 WCF 服务的 Windows 应用程序。它有一些 WCF 服务调用,之后总是调用 ClientBase.Close() 方法。当我关闭应用程序时,我在 VS2010 中没有收到任何错误。我已经打开了调试器中的所有异常,并将我的编译器附加到我能做的所有事情上。我正在关闭所有连接,并且在我关闭我的应用程序时没有异步运行 WCF 服务调用。

但我确实在 WCF 服务上遇到了异常!

套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题引起的。本地套接字超时是(这里有一些大数字)。

错误码是10054

内部异常是:

一个现有的连接被远程主机强行关闭。

但是这怎么会发生在我的代码上呢?

我该怎么做才能找到这种错误行为的原因?

【问题讨论】:

    标签: .net wcf timeout connection


    【解决方案1】:

    增加ChannelInitializationTimeout

    在连接期间等待连接发送前导的最长时间 初读。此数据是在身份验证发生之前收到的。

    默认值为 5 秒。这是“远程主机强制关闭现有连接”的原因。例外。

    【讨论】:

      【解决方案2】:

      在服务器上打开 WCF 跟踪,使用 WCF 跟踪查看器查看结果,确保应用程序池具有服务目录的权限...

      <system.diagnostics>
      <sources>
        <source name="System.ServiceModel" 
                switchValue="Verbose" 
                propagateActivity="true">
          <listeners>
            <add name="traceListener" 
                 type="System.Diagnostics.XmlWriterTraceListener" 
                 initializeData="Events.evt"  />
          </listeners>
        </source>
      </sources>
      <trace autoflush="true"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-02
        • 1970-01-01
        • 2012-08-30
        • 1970-01-01
        • 1970-01-01
        • 2021-05-12
        相关资源
        最近更新 更多