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

mrfwxfqh  于 2023-04-22  发布在  .NET
关注(0)|答案(1)|浏览(113)

我正在使用一个带有netTcpBinding的ChannelFactory。有时我会遇到异常,在这些异常之后,我就不能再使用这个通道了,因为它处于故障状态。
我应该做什么来重新建立连接?我应该调用abort(),然后关闭/打开。或者Close(),然后打开(),或者我应该使用一个新的对象,如:

myPublicChannel = this.ChannelFactory.CreateChannel();

我是否应该只在catch块中重新打开连接?我是否需要一个特殊的锁定机制,因为其他线程也可以使用这个通道,然后同时尝试重新建立连接。
非常感谢您提前的回答!
谢谢你的回答。这是我发现的一个链接,对其他有同样问题的人可能有帮助:
Link

f3temu5u

f3temu5u1#

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

相关问题