【问题标题】:c# ChannelFactory: How to reconnect/reopen connection after FaultException|TimeoutException?c# ChannelFactory:FaultException|TimeoutException 后如何重新连接/重新打开连接?
【发布时间】:2010-08-03 00:51:04
【问题描述】:

我正在使用带有 netTcpBinding 的 ChannelFactory。有时我会遇到异常,在这些异常之后我无法再使用该通道,因为它处于故障状态。

我应该怎么做才能重新建立连接?我应该调用 abort(),然后关闭/打开。 或者关闭(),然后打开(),或者我应该只使用一个新对象,如:

myPublicChannel = this.ChannelFactory.CreateChannel();

我应该在我的 catch 块中重新打开连接吗?我是否需要一种特殊的锁定机制,因为其他线程也可以使用此通道,然后尝试同时重新建立连接。

非常感谢您提前回答!

感谢您的回答。这是我发现的一个链接,可能对遇到相同问题的其他人有所帮助:

http://blogs.msdn.com/b/drnick/archive/2007/11/05/custom-transport-retry-logic.aspx

【问题讨论】:

    标签: c# .net wcf


    【解决方案1】:

    我实际上会关闭并将其设置为 null 以处理连接中的任何内容,然后使用打开,我已经编写了一些 Web 服务,之前不处理 ChannelFactory 会导致一些内存泄漏和其他问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-13
      • 2012-08-07
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      相关资源
      最近更新 更多