检测wcf服务是否被激活
本文关键字:激活 是否 服务 wcf 检测 | 更新日期: 2023-09-27 18:16:14
我正在制作一个WP8应用程序。我注意到,如果服务器工作一切都很好,但是如果服务器宕机,我会得到一个异常。
如果wcf服务在使用他的方法之前被激活,我如何在代码中检查?
在您的web-service中实现一个no-op方法,并使用低超时调用它。如果成功,则服务启动。如果由于任何原因呼叫失败,则服务关闭。
实际上,为什么服务器会经常宕机?也许确保它在任何时候都是可用的更容易。
如果您想检查服务器是否启动,您可以使用Ping()类,在这个类中,您可以根据网络配置轻松定义超时,以假设服务器正在运行或未运行。
如果你想检查服务是否在服务器上运行,你可以在服务器端定义一个这样的方法:
public bool IsRunning() { return true; }
并使用try-catch块客户端处理FaultException
。当调用此方法时,如果服务关闭,它将返回true或抛出异常。在调用其方法之前,您可能还需要检查您的客户端WCF代理是否处于故障状态。
这是无法学习的。这确实是一个特例。如果您确保服务器没有关闭,很容易ping这个或尝试下载一个简单的静态文件,如文本/html文件的大小尽快较小的一个。Supafly的答案没有错,但情况和你一样。