以编程方式检查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;
        }

以编程方式检查IIS7启动屏幕

只要阅读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&amp;clcid=0x409""><img src=""welcome.png"" alt=""IIS7"" width=""571"" height=""411""></a>
</div>") {

}

调查其他应用程序返回的标头。与IIS启动屏幕相比,它很可能会有一些额外的标头。例如,它可能指定Cache-Control。如果您的响应没有该标题,则可以期望它是启动屏幕。