我想知道如何使用C#检查网站是离线还是在线?
答案 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事件(应用程序生命周期事件)控制此状态
答案 4 :(得分:-1)
您可以使用Pingdom.com及其API。检查this page
底部的'Alerter for Pingdom API'的源代码