检测是否已激活wcf服务

时间:2014-08-03 13:46:41

标签: c# wcf windows-phone-8

我正在制作WP8应用程序。 我注意到如果服务器工作一切正常, 但是如果服务器关闭,我会得到一个例外。

如果在使用他的方法之前激活了wcf服务,我如何检查代码?

3 个答案:

答案 0 :(得分:3)

在您的网络服务中实施无操作方法,并以低超时调用它。如果有效,服务就开始了。如果呼叫因任何原因失败,则服务已关闭。

实际上,为什么服务器会经常停机?也许更容易确保它始终可用。

答案 1 :(得分:1)

如果要检查服务器是否已启动,可以使用Ping()类,在该类中可以根据网络配置轻松定义超时,以假设服务器正在运行。

如果您想检查服务器上是否正在运行该服务,您可以定义此服务器端之类的方法:

public bool IsRunning() { return true; }

并使用try-catch块客户端处理FaultException。调用此方法时,它将返回true,否则如果服务关闭则将抛出异常。您可能还想在调用其方法之前检查您的客户端WCF代理是否未处于“故障”状态。

答案 2 :(得分:0)

没有办法学习这个。这是一个非常特殊的案例。如果您确保服务器没有关闭,可以轻松ping这个或尝试下载一个简单的静态文件,如text / html文件,尽快缩小。 supafly的答案并没有错,但它和你一样。