我有2个C#应用程序通过WCF进行通信,其中一个具有ServiceHost
单例对象,其端点为NetNamedPipeBinding
,客户端通过{{1}创建公开接口的实例打电话。有时我的客户端将在我的服务器之前启动,因此客户端需要知道服务器是否可用。 DuplexChannelFactory.CreateChannel()
调用成功,但后续调用接口函数失败并出现异常。一旦呼叫失败,之后的任何呼叫都会失败,并显示信道出现故障。我唯一的选择是捕获这些异常并每次创建一个新频道,还是有更好的方法?
谢谢, Ĵ
答案 0 :(得分:3)
由于网络故障等多种原因,频道可能随时出现故障。这意味着答案是肯定的,你需要处理故障渠道。
每次我需要时,我通常会创建一个新频道(我在控制容器的反转中注册了具有瞬态/范围生命周期的频道)。