【发布时间】:2010-07-14 16:50:40
【问题描述】:
我有一个使用回调操作回调其客户端的服务。当服务出现故障时,是否有通知客户的方法?当客户端在回调过程中宕机时会引发异常,但随着服务宕机,订阅会丢失,但不会通知客户端。
WCF 是否支持一些心跳操作来检查服务的状态?
谢谢
【问题讨论】:
标签: wcf
我有一个使用回调操作回调其客户端的服务。当服务出现故障时,是否有通知客户的方法?当客户端在回调过程中宕机时会引发异常,但随着服务宕机,订阅会丢失,但不会通知客户端。
WCF 是否支持一些心跳操作来检查服务的状态?
谢谢
【问题讨论】:
标签: wcf
不,没有“检查此服务调用是否会成功”之类的方法。
您需要调用服务并准备好处理服务调用期间发生的任何异常。
确实没有可靠或有用的方法来检查服务可用性。心跳可以检查的所有内容是您可以立即调用您的服务方法 - 但几分之一秒后,该连接可能会消失(电缆已拔出或切断,服务器已崩溃 - 出现问题的可能性是没完没了……)也是。它无法检查所有必要的后台服务和数据库等是否可用。
所以实际上,这样的心跳检查是毫无意义的。只需致电服务,希望最好,并为最坏的情况做好准备!将您的服务调用包装在良好的异常处理中,然后继续。
【讨论】: