代码之家  ›  专栏  ›  技术社区  ›  Miki Watts

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

iis
  •  22
  • Miki Watts  · 技术社区  · 17 年前

    就像标题上说的,如果我在 app_offline.htm 在应用程序根目录中,它是要切断当前正在运行的请求,还是只切断新的请求?

    2 回复  |  直到 14 年前
        1
  •  29
  •   Michał Powaga Mohamed Aslam    14 年前

    这是我的跛脚实验;我用以下代码创建了一个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 />");
    }
    

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

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

        2
  •  4
  •   Michał Powaga Mohamed Aslam    14 年前

    来自Scottgu的博客:

    基本上,如果你把一个文件 此名称位于网站根目录中 应用程序目录, ASP.NET 2 将关闭应用程序,卸载 来自的应用程序域 服务器,并停止处理任何新的 对此的传入请求 应用 . 然后,ASP.NET也将 响应所有动态请求 通过发送 备份的内容 app_offline.htm文件(例如:您 可能想在下面建一个__ 施工_或__ 维护_信息)。

    App_Offline.htm - ScottGu's Blog

    所以,看起来它将继续处理当前请求,但停止新的传入请求。