我有 WCF 服务客户端,在服务端,如果抛出未处理的异常,通道将出现故障,通道出现故障后我必须重新创建客户端。
当我创建客户端时,我使用 ChannelFactory,所以我需要 .Abort 当前通道,然后再次创建它。
在服务端执行带有故障异常的 Try Catch 有什么好处?它不会让频道出错吗?
- 我的托管应用程序包含多个打开的 ServiceHost,我如何注册它们的故障状态并从事件处理程序重新启动某个服务?
代码:
...
serviceHost.Faulted+=serviceHost_Faulted;
...
private static void serviceHost_Faulted(object sender, EventArgs e)
{
//How to detect the channel information ? can i cast sender to and know its implemented IService interface ?
}