11
我有一个客户端 - 服务器系统,双方都是由我编写的,并且我希望在服务器断开/连接时自动将客户端置于“离线”状态当服务器再次可用时,他们返回'在线'。WCF - 客户端检查服务可用性
对于第一部分,我监听通道故障事件,并通过将客户端设置为脱机来处理。然后我开始在服务器上调用一个'ping'服务(每30秒),如果它还活着,它就返回一个bool。一旦它活着,客户端就会获得bool并切换到在线状态。
这一切工作,我遇到的问题是,当客户端调用ping服务和服务器关闭,没有响应发送(显然),并最终约2分钟后,我得到一个端点没有发现异常。到目前为止,我已经尝试过3-4次ping,因此有3-4次例外酿造。
我的问题是,我该如何处理更优雅的ping服务?理想情况下,我想定期拨打一个服务,让我知道它是否在线,并立即告诉我是否不在线。
感谢, 威尔
谢谢马克,好主意这是我所做的。我完全忘记了可以像这样在飞行中编辑绑定超时。 – WillH 2009-08-06 14:48:16
如何检测服务器是否断开连接? – 2016-02-03 10:57:27
@Ashutosh:如果服务器断开连接,您的呼叫将失败,并有几个可能的错误之一(“未找到”或“超时”或其他) – 2016-02-03 12:03:07