[英]Check if website is online with ASP.NET C#?
我想知道如何使用C#检查网站是离线还是在线?
尝试通过HTTP-GET请求使用HttpWebClient来访问URL。 为刚刚创建的HttpWebClient调用GetResponse()方法。 检查响应中的HTTP状态代码。
您可以在此处找到所有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();
首先,定义“在线”和“离线”。 但是,如果你的代码隐藏代码运行,您的网站是在线。
对于我的网络应用程序,我使用名为“脱机”的设置,管理员可以设置开启/关闭。 然后我可以通过编程方式检查该设置。 我使用此脱机设置,向用户显示友好的维护信息。 另外,您可以使用App_Offline.htm,参考: http ://www.15seconds.com/issue/061207.htm
http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx
如果您指的是控制IIS的联机/脱机状态,则可以使用自定义Web事件(应用程序生命周期事件)控制此状态
您可以使用Pingdom.com及其API。 检查本页底部的'Alerter for Pingdom API'的源代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.