以编程方式检查IIS7启动屏幕
本文关键字:启动 屏幕 IIS7 检查 编程 方式 | 更新日期: 2023-09-27 18:17:09
我有一个ASP。Net 3.5 Web应用程序(c#),我需要以编程方式检查,看看我们的另一个网站(那不是ASP.Net)是启动和运行。目前,我有一个方法与以下代码检查StatusCode为200。我遇到的问题是,出现的IIS7启动页面返回状态码200,并且我在响应对象中没有看到任何其他内容,可以让我验证我们期望实际显示的页面。我想避免得到响应回来,并使用一个StreamReader只是寻找页面上的一个div来验证它是有效的(如果可能的话),因为他们做(类似)在这个链接。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToCheck);
request.AllowAutoRedirect = true;
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
return true;
}
return false;
}
catch (Exception)
{
return false;
}
只要阅读Response
,它已经在那里等待!
Stream s = response.GetResponseStream();
StreamReader r = new StreamReader(s);
string html = r.ReadToEnd();
// IIS7
if(html.Contains(@"<div id=""container"">
<a href=""http://go.microsoft.com/fwlink/?linkid=66138&clcid=0x409""><img src=""welcome.png"" alt=""IIS7"" width=""571"" height=""411""></a>
</div>") {
}
调查其他应用程序返回的标头。与IIS启动屏幕相比,它很可能会有一些额外的标头。例如,它可能指定Cache-Control
。如果您的响应没有该标题,则可以期望它是启动屏幕。