我有两个通过WCF通信的C#应用程序,其中一个有一个带有NetNamedPipeBinding端点的ServiceHost单例对象,客户端通过一个DuplexChannelFactory.CreateChannel()调用创建一个公开接口的实例。有时我的客户端会在我的服务器之前启动,所以客户端需要知道服务器是否可用。无论如何,CreateChannel()调用都会成功,但是对接口函数的后续调用会失败,并出现异常。一旦呼叫失败,之后的任何呼叫都会失败,并显示通道出现故障的错误。我唯一的选择是捕获这些异常并每次创建一个新通道,还是有更好的方法?
谢谢,J
发布于 2011-10-19 20:30:21
通道随时可能由于多种原因而出现故障,例如网络故障。这意味着答案是肯定的,您需要处理故障通道。
我通常在每次需要的时候创建一个新的通道(我在控制反转容器中注册了具有瞬态/作用域生存期的通道)。
https://stackoverflow.com/questions/7821285
复制相似问题