【发布时间】:2008-10-07 17:39:44
【问题描述】:
正如标题所说,如果我在应用程序根目录中放置一个app_offline.htm,它会切断当前正在运行的请求,还是只是新的请求?
【问题讨论】:
标签: iis
正如标题所说,如果我在应用程序根目录中放置一个app_offline.htm,它会切断当前正在运行的请求,还是只是新的请求?
【问题讨论】:
标签: iis
这是我的蹩脚实验;我使用以下代码创建了一个 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”文件。然后我加载了另一个 Web 浏览器并确认该应用程序处于脱机状态。然后我重新访问了我的“加载”请求......它一直完成到第 3 步。
这确认当前请求已完成加载并且新请求已被拒绝。
【讨论】:
if you place a file with this name in the root of a web application directory, ASP.NET 2.0 will shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application
来自 ScottGu 的博客:
基本上,如果您放置一个文件 网络根目录中的此名称 应用程序目录,ASP.NET 2.0 将关闭应用程序,卸载 应用程序域从 服务器,并停止处理任何新的 传入的请求 应用程序。然后 ASP.NET 也将 响应所有动态请求 通过发送应用程序中的页面 回退内容 app_offline.htm 文件(例如:你 可能想要有一个“网站” 建设”或“下降 维护”消息)。
App_Offline.htm - ScottGu's Blog
因此,它似乎会继续处理当前请求,但会停止新的传入请求。
【讨论】: