我有两个通过 WCF 命名管道相互通信的 .NET C# windows 窗体应用程序。其中一个应用程序托管 WCF 服务,另一个是客户端。通信工作正常,客户端可以调用服务方法和回调工作正常等。但是,我遇到的一个问题是,如果主机应用程序关闭,客户端无法检测到管道不再可用。我已经尝试在管道上为所有事件(Closing、Closed、Faulted)注册事件处理程序,但是当主机应用程序关闭时这些永远不会被调用。此外,如果我尝试使用 pipe.State 属性检查客户端中的管道状态,即使管道出现故障,我也会返回 Opened 状态。然后,如果我尝试调用服务方法,它当然会引发异常。
有没有人有这种情况的任何工作示例?