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

标签 c# .net networking system.net

我正在构建一个监控应用程序来持续监控我系统的各个方面。我希望使用 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/

相关文章:

c# - 将复杂模型中的列表绑定(bind)到 mvc 应用程序

c# - ContentControl 上的绑定(bind)内容在 DataTemplateSelector 中为空

C#:当有多个类型参数时,为什么泛型类型推断不起作用?

c# - 将跟踪监听器附加到 app.config 中的现有跟踪源

c# - 从 C# 中的 .docx 文件的页眉和页脚获取图像

c# - 为什么 IDisposable 实现是这样设计的

c# - 自定义类型 GetHashCode

javascript - 无法从不同的网络连接 express.js

c++ - 很难理解带有 async_read 和 async_write 的 Boost ASIO TCP 的一些概念

networking - 通过主机名访问本地IP地址