2010-01-30 58 views
2

有没有一种快速可靠的方法来检查WCF服务是否可用并接受请求,或许是在方法中构建的一些最佳实践?显然来自代码。如何检查WCF服务是否可用?

谢谢

回答

3

鲁本斯已经提到的,你可以在你的服务来检查创建一个虚拟的“ping”方法。这工作正常,可能已经足够 - 但是:这样的ping方法当然只能保证你的服务是可达和响应。

在许多情况下,您的服务方法将依次取决于其他资源 - 例如,您需要从数据库中读取数据,解析XML文件,呼叫另一个服务等等。因此,即使您的服务可用,并且对您的Ping方法作出响应,也不保证您的服务的另一个呼叫将会成功。

对您的服务的简单Ping方法通常无法检查所有这些从属系统/资源的可用性。所以最终,只有一半(或更少)的故事你可以检查 - 只是意识到这一点!为了长话短说:你不能真正检查一个服务是否可用并且正在运行 - 你基本上只需要在需要时调用它,并且准备好处理不好的事情,比如超时,网络连接断开等等。良好的防御性编程实践在连接的,面向服务的世界中更是如此!

4

您可以实现一个空方法并在每次需要时调用它。

,你可以尝试这篇文章太:How to: Use Health Monitoring to Instrument a WCF Service for Security

+0

提供的链接提供了有关如何在服务主机端实施监视的想法。这对于如何检测服务是否可以从服务客户端运行没有帮助。至少我是这样理解这个问题的。 – Manfred 2012-05-19 23:29:09

相关问题