c#ChannelFactory:如何在FaultException之后重新连接/重新打开连接| TimeoutException?

时间:2010-08-01 22:17:25

标签: c# .net wcf

我正在使用带有netTcpBinding的ChannelFactory。有时我得到例外,在这之后我不再使用频道,因为它处于故障状态。

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

myPublicChannel = this.ChannelFactory.CreateChannel();

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

非常感谢你提前给出答案!

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

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

1 个答案:

答案 0 :(得分:1)

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