我正在构建一个监控应用程序来持续监控我系统的各个方面。我希望使用 Ping()
函数来确定服务器是否启动但 MSDN documentation自己说这不是最好的方法:
A successful Ping indicates only that the remote host can be reached on the network; the presence of higher level services (such as a Web server) on the remote host is not guaranteed.
还有其他方法可以更好地做到这一点吗?
最佳答案
您需要确定要测试的一个页面/URL,可以是已经存在的页面/URL,也可以是您为检查服务器可用性的特定目的而创建的。
每 [时间段] 您可以向此 url 发出请求并检查响应以确定它是否包含预期值,例如您请求 mysite.com 时的页面内容/default.aspx
。最好的办法是将一个 url/页面/web 服务调用专用于“ping”,因为它确保如果您正在检查的任意页面的内容在您不知情的情况下发生更改,它不会被破坏。
我确实建议反对做的一件事是让这个 ping 方法测试一切,包括您的数据库连接、第 3 方 Web 服务可用性、磁盘空间等。 .. 如果你想这样做,有多种方法可以调用,这样你就可以一目了然地看到是什么导致了问题。
关于c# - 如何检查Web服务器是否启动? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583037/