我正在使用带有netTcpBinding的ChannelFactory。有时我得到例外,在这之后我不再使用频道,因为它处于故障状态。
我该怎么做才能重新建立连接?我应该调用abort(),然后关闭/打开。 或者Close(),然后打开(),或者我应该只使用一个新对象:
myPublicChannel = this.ChannelFactory.CreateChannel();
我应该在我的catch块中重新打开连接吗?我是否需要特殊的锁定机制,因为其他线程也可以使用此通道,然后尝试同时重新建立连接。
非常感谢你提前给出答案!
感谢您的回答。这是我发现的一个链接,可能对其他有相同问题/问题的人有所帮助:
http://blogs.msdn.com/b/drnick/archive/2007/11/05/custom-transport-retry-logic.aspx
答案 0 :(得分:1)
我实际上会关闭并将其设置为null以从连接中处置任何内容然后使用open,我已经编写了一些Web服务,之前没有处理ChannelFactory会导致一些内存泄漏和其他问题。