检查网站是否在线使用ASP.NET C#?

时间:2009-10-15 06:32:46

标签: c# asp.net

我想知道如何使用C#检查网站是离线还是在线?

5 个答案:

答案 0 :(得分:9)

尝试通过HTTP-GET请求使用HttpWebClient来访问URL。为刚刚创建的HttpWebClient调用GetResponse()方法。检查响应中的HTTP状态代码。

Here您将找到所有HTTP状态代码的列表。如果您的请求状态代码是从5 [5xx]开始,这意味着该站点处于脱机状态。还有其他代码也可以告诉您网站是否离线或不可用。您可以将代码与整个列表中的首选代码进行比较。

//Code Example

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com");
httpReq.AllowAutoRedirect = false;

HttpWebResponse httpRes = (HttpWebResponse)httpReq.GetResponse();

if (httpRes.StatusCode==HttpStatusCode.NotFound) 
{
   // Code for NotFound resources goes here.
}

// Close the response.
httpRes.Close();

答案 1 :(得分:0)

首先,定义“在线”和“离线”。但是,如果您的代码隐藏代码正在运行,则您的网站 在线。

答案 2 :(得分:0)

对于我的网络应用,我使用名为“离线”的设置,管理员可以设置开启/关闭。 然后我可以通过编程方式检查该设置。 我使用此脱机设置,向用户显示友好的维护信息。 另外你可以使用App_Offline.htm, 参考: http://www.15seconds.com/issue/061207.htm

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

答案 3 :(得分:0)

如果您指的是控制IIS的在线/离线状态,那么您可以使用自定义Web事件(应用程序生命周期事件)控制此状态

http://support.microsoft.com/kb/893664

http://msdn.microsoft.com/en-us/library/aa479026.aspx

答案 4 :(得分:-1)

您可以使用Pingdom.com及其API。检查this page

底部的'Alerter for Pingdom API'的源代码