如何检查Web服务器是否已启动?(C#)

Har*_*non 4 .net c# networking system.net

我正在构建一个监控应用程序,以持续监控我的系统的所有方面.我希望使用该Ping()函数来确定服务器是否已启动,但MSDN文档本身表明它不是最佳方式:

成功的Ping仅表示可以通过网络访问远程主机; 不保证远程主机上存在更高级别的服务(例如Web服务器).

还有其他方法可以做得更好吗?

Rob*_*Rob 5

您需要确定要测试的一个页面/网址,可以是已经存在的页面/网址,也可以是为了检查服务器可用性而创建的网页.

每隔[段时间],您可以向此URL发出请求并检查响应以确定它是否包含预期值,例如您请求的页面内容mysite.com/default.aspx.最好的办法是将一个URL /页面/ Web服务调用专用于"ping",因为它确保如果您检查的任意页面的内容在您不知情的情况下被更改,它就不会被破坏.

我建议不要做的一件事就是让这一个ping方法测试一切,包括你的数据库连接,第三方Web服务可用性,磁盘空间等......如果你想这样做,有多种方法可以调用你可以一眼就看出究竟是什么导致了这个问题.