2008-10-07 97 views

回答

25

这是我的蹩脚实验;我创建了一个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 />"); 
} 

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

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

3

从ScottGu的博客:

基本上,如果你把一个文件 这个名字在Web应用程序 目录的根目录,ASP.NET 2.0 将停机的应用,卸载 来自 服务器的应用程序域,并停止处理任何新的 传入的请求,该请求为该 应用程序。 ASP.NET也将随后 通过发送 回 app_offline.htm文件的内容(例如在应用程序动态 网页上的所有请求作出回应:你 可能希望有一个“下 施工现场”或“下载为 维护“消息)。

App_Offline.htm - ScottGu's Blog

所以,现在看来似乎会继续处理当前请求,但阻止新传入的请求。