WCF检测ServiceHost是否可用

本文关键字:是否 ServiceHost 检测 WCF | 更新日期: 2023-09-27 18:11:46

我有2个c#应用程序通过WCF进行通信,一个有NetNamedPipeBinding端点的ServiceHost单例对象,客户端通过DuplexChannelFactory.CreateChannel()调用创建暴露接口的实例。有时我的客户端会在服务器之前启动,因此客户端需要知道服务器是否可用。无论如何,CreateChannel()调用成功,但随后对接口函数的调用失败并出现异常。一旦调用失败,之后的任何调用都会失败,并出现通道故障的错误。我唯一的选择是捕获这些异常并每次创建一个新通道,还是有更好的方法?

谢谢,J

WCF检测ServiceHost是否可用

由于网络故障等多种原因,通道随时可能出现故障。这意味着答案是肯定的,您需要处理故障通道。

我通常在每次需要时创建一个新通道(我在控制反转容器中使用瞬态/作用域生存期注册我的通道)