Asp.net 使用PING的内部网站状态

Asp.net 使用PING的内部网站状态,asp.net,vb.net,visual-studio-2010,sql-server-2008,Asp.net,Vb.net,Visual Studio 2010,Sql Server 2008,下午好, 在给出了一点建议之后,我们就可以使用下面的方法了 我是.net新手,有一个Asp.net网页正在开发中,我只需通过ping命令列出一些内部网站,并概述它们的状态(在线/离线)。这是当前的趋势;通过点击按钮激活y 我需要设置这个developemt网页,以便它在一个早上的特定时间自动运行,比如早上7点,然后通过电子邮件通知用户组这些项目的状态 我以前使用过Microsoft Visual studio(VB)2010,可以创建简单的web作品,在SQL 2008之间连接/提取/更新数据。

下午好,

在给出了一点建议之后,我们就可以使用下面的方法了

我是.net新手,有一个Asp.net网页正在开发中,我只需通过ping命令列出一些内部网站,并概述它们的状态(在线/离线)。这是当前的趋势;通过点击按钮激活y

我需要设置这个developemt网页,以便它在一个早上的特定时间自动运行,比如早上7点,然后通过电子邮件通知用户组这些项目的状态

我以前使用过Microsoft Visual studio(VB)2010,可以创建简单的web作品,在SQL 2008之间连接/提取/更新数据。我在用SQL创建计划作业方面也有一些经验,但不多

我想我可以在SQL 2008中创建一个计划作业,找到一种将数据填充到数据库中的方法,在我的网站中使用这些数据,并将其显示为gridview或其他内容。并让SQL作业或网站向一组用户发送电子邮件,告知这些内部网站的状态

有人知道我是否能够在.net中完成上述内容吗?我是否能够编写某种脚本或安排网页在指定时间运行

我不是100%确定解决这项工作的最佳方法,而且我的经验有限。有谁能就如何完成上述工作提出最佳方法建议吗

问候
打赌

虽然实现起来相当简单,但我认为
ping
命令在您试图实现的环境中并不有用

正如弗雷德里克指出的那样,阿平只说服务器可用。它没有说明某个网站在该服务器上是否正常运行

如果我这样做,我会创建一个经常运行的服务。该服务将向网站发出get请求,对内容进行一点解析,以确保返回的内容是预期的,并更新数据库中的记录,说明连接时间和状态(向上/向下)

例如:

public String CheckSite(String postLocation) {
    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(postLocation);
    // Setting the useragent seems resolves certain issues that *may* crop up depending on the server
    httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
    httpRequest.KeepAlive = false;
    httpRequest.Method = "GET";

    using ( HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse() ) {
        using ( StreamReader reader = new StreamReader(httpResponse.GetResponseStream()) ) {
            result = reader.ReadToEnd();
        } // using reader
    } // using httpResponse

    return result;
}
这个简单的调用将从服务器加载页面。从那里你可以分析,看看你是否有像“错误”这样的词,或者你有什么。如果它看起来不错,然后你报告说网站已经上线了


我知道上面的代码是C#,但如果需要的话,您应该能够轻松地将其转换为VB。你也应该试一试。。接住电话。如果出现错误,则表明服务器已完全脱机。如果页面返回,但包含“错误”或其他内容,则您知道服务器已启动,但应用程序已关闭

。我认为最优雅的解决方案是:(未经测试)

{ //根据无效的响应执行某些操作。 } }//使用httpResponse

    return result;
}

您想知道服务器是否联机,或者网站是否可用?它们不是一回事,ping只会告诉你关于服务器的信息,而不是关于网站的信息。嗨,弗雷德里克,非常感谢你的帮助。我刚刚在位于我们生产框上的两个站点上测试了当前的btnPing_点击,它只是使用该框的IP地址来检查生产是否正常。这是一个正确方向的开始,但实际上我应该寻找一种方法来ping各个网站。有什么建议吗?您的目标并不完全清楚,但如果您的目标只是查看服务器或应用程序是否正在运行,那么您可能希望查看现有的系统管理/监控应用程序,而不是从头开始编写自己的应用程序。例如,这是一个非常常见的问题。
    return result;
}