我正在使用一个带有netTcpBinding的ChannelFactory。有时我会遇到异常,在这些异常之后,我就不能再使用这个通道了,因为它处于故障状态。
我应该做什么来重新建立连接?我应该调用abort(),然后关闭/打开。或者Close(),然后打开(),或者我应该使用一个新的对象,如:
myPublicChannel = this.ChannelFactory.CreateChannel();
我是否应该只在catch块中重新打开连接?我是否需要一个特殊的锁定机制,因为其他线程也可以使用这个通道,然后同时尝试重新建立连接。
非常感谢您提前的回答!
谢谢你的回答。这是我发现的一个链接,对其他有同样问题的人可能有帮助:
Link
1条答案
按热度按时间f3temu5u1#
我实际上会关闭并将其设置为null以处理连接中的任何内容,然后使用open,我以前写过一些Web服务,其中不处理ChannelFactory会导致一些内存泄漏和其他问题。