Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在无故障状态下检查DuplexChannelFactory上的服务器可用性_C#_Wcf_Duplex - Fatal编程技术网

C# 在无故障状态下检查DuplexChannelFactory上的服务器可用性

C# 在无故障状态下检查DuplexChannelFactory上的服务器可用性,c#,wcf,duplex,C#,Wcf,Duplex,当使用“CreateChannel()”创建DuplexChannelFactory时,状态为“created”,此状态仅表示双工连接请求已准备好连接。问题是,在调用“Open()”时,如果服务器不可用,则DuplexChannelFactory会简单地设置为Faulted,这会影响我的处理,因为我订阅的是一般方法故障的Faulted事件,而不是一般连接问题 我的问题是:在调用“打开”并进入故障状态之前,如何检查双工服务器是否可用?或者有没有办法找到出现故障的原因,以便我能够正确响应问题?您可以

当使用“CreateChannel()”创建DuplexChannelFactory时,状态为“created”,此状态仅表示双工连接请求已准备好连接。问题是,在调用“Open()”时,如果服务器不可用,则DuplexChannelFactory会简单地设置为Faulted,这会影响我的处理,因为我订阅的是一般方法故障的Faulted事件,而不是一般连接问题


我的问题是:在调用“打开”并进入故障状态之前,如何检查双工服务器是否可用?或者有没有办法找到出现故障的原因,以便我能够正确响应问题?

您可以使用此代码确定通道的状态:如果(client.InnerChannel.State==CommunicationState.faulted){}还没有要检查的通道。请再读一遍这个问题,经过测试,我发现我们无法通过客户端的通道检查服务器端是否正常运行。如果服务器异常,则客户端的通道状态不会更改。简而言之,成功创建客户端通道后,它与服务器端无关。您可以使用以下代码确定通道的状态:如果(client.InnerChannel.State==CommunicationState.Faulted){}还没有要检查的通道。请再读一遍这个问题,经过测试,我发现我们无法通过客户端的通道检查服务器端是否正常运行。如果服务器异常,则客户端的通道状态不会更改。简而言之,一旦成功创建了客户端通道,它就与服务器端无关。