net.tcp上的双工WCF服务失败

时间:2013-04-16 18:16:31

标签: .net wcf

我有一个双工WCF服务,我通过net.tcp连接到该服务。当服务首次启动时,我可以调用它并接收回调,但几分钟后我开始从服务中收到此错误:

  

TCP错误(995:I / O操作因中断而中止   发送时发生线程退出或应用程序请求)   数据

我尝试在IIS中托管服务以及Windows服务,但我在两者中都遇到了同样的错误。在我的跟踪日志中,我看到在异常之前有一个SocketConnection中止警告。

造成这种情况的原因是什么?

我用来跟踪我从here获得的服务的订阅者的方法。如果需要,我可以发布我的配置,但如果不是,我不想弄乱我的问题。

1 个答案:

答案 0 :(得分:1)

有两个方面:

  1. 为什么会发生异常
  2. 可能this帖子可以提供帮助(简而言之 - 在他的情况下,Antivirus会对错误负责)

    1. 连接和客户端回调会发生什么 - 异常,未被Fault包装将“终止”连接,并且您的客户端将无法重新使用它,它将收到“中止”错误。
    2. 您需要在客户端订阅失败的呼叫,并重新启动您的连接。

      喜欢

      ((IClientChannel)YourClient).Faulted += InnerChannel_Faulted;
      }
      
      
      void InnerChannel_Faulted(object sender, EventArgs e)
      {
      
          TWLogger.Write("Faulted event ... ");
          reconnect();
      } 
      

      另外,我建议用Fault

      包装所有服务器端异常