app_offline.htm会停止当前请求还是仅停止新请求?

时间:2008-10-07 17:39:45

标签: iis

就像标题所说的那样,如果我在应用程序根目录中放置app_offline.htm,它会切断当前运行的请求,还是只删除新请求?

2 个答案:

答案 0 :(得分:29)

这是我的蹩脚实验;我用以下代码创建了一个ASPX页面:

protected void Page_Load(object sender, EventArgs e)
{
    Response.BufferOutput = false;
    Response.Write("Step 1<br />");
    System.Threading.Thread.Sleep(10000);
    Response.Write("Step 2<br />");
    System.Threading.Thread.Sleep(10000);
    Response.Write("Step 3<br />");
}

此代码简单介绍了一些loooong页面加载。我访问了页面,在加载时,我创建了一个“app_offline.htm”文件。然后我加载了另一个Web浏览器并确认应用程序处于脱机状态然后我重新访问了我的“加载”请求......它一直完成到第3步。

这确认当前请求已完成加载并且新请求被拒绝。

答案 1 :(得分:4)

来自ScottGu的博客:

  

基本上,如果你放置一个文件   这个名字在网络的根目录中   应用程序目录, ASP.NET 2.0   将关闭应用程序,卸载   来自的应用程序域   服务器,并停止处理任何新的   传入的请求   应用即可。 ASP.NET也将随之而来   回应所有动态请求   通过发送应用程序中的页面   回来的内容   app_offline.htm文件(例如:你   可能想要一个“网站下   建设“或”为了   维护“消息”。

App_Offline.htm - ScottGu's Blog

因此,它似乎会继续处理当前请求,但会停止新的传入请求。