我有两个应用程序通过双工WCF连接进行连接。只要连接一致,我就能很好地工作。双工WCF中的重新连接方案
我现在正在检查如何处理重新连接方案,当连接丢失并且必须重新连接时。而且我正在努力理解WCF的工作方式。
据我所知,IChannel
是消耗品,但ChannelFactory
是昂贵的。所以我创建了一家工厂,然后创建了渠道。每当我检测到通道中的Closed
或Faulted
事件时,I try
就会关闭通道,解除事件处理程序并创建另一个通道。
但这种方法是不工作得非常好,因为有时DuplexChannelFactory<T>.CreateChannel
被指责为好,并抛出该异常:
System.ServiceModel.CommunicationObjectAbortedException occurred
HResult=-2146233087
Message=The communication object, System.ServiceModel.InstanceContext, cannot be used for communication because it has been Aborted.
这怎么可能,工厂本身被指责这种方式?
在WCF中处理断开/重新连接的正确方法是什么?
这个问题是托管不可知论者。我想知道如何处理重新连接。 – vtortola
感谢您的澄清。我试图回答第1部分。将尽力写出我对如何根据我所做的工作来处理重新连接的想法。 –