0

我正在尝试调试在 IIS 7.5 上运行的 asp.net Web 应用程序遇到的问题。我期待发现,当我们通过将物理路径更改为代码的新副本来部署应用程序时,请求并没有完成。

我的印象是,当前执行的请求将在应用程序的旧实例上完成,而新请求将针对新实例执行。如果这是真的,我希望旧实例能够运行,直到达到 httpRuntime.shutdownTimeout。

长话短说,我试图在本地复制它,但没有发生。无论我的请求需要多长时间,IIS 似乎都会等待超过 shutdownTimeout 中的设置。

这是我感兴趣的生命周期的一部分。在更改应用程序的物理路径和 IIS 拉动任何当前正在执行的请求之间会发生什么?

4

1 回答 1

0

MSDN上有对 ASP.NET 应用程序生命周期的非常透彻的解释。

Application_Start 和 Application_End 方法是不代表 HttpApplication 事件的特殊方法。ASP.NET 在应用程序域的生命周期内调用它们一次,而不是为每个 HttpApplication 实例调用一次。

应用程序_开始

当请求 ASP.NET 应用程序中的第一个资源(例如页面)时调用。Application_Start 方法在应用程序的生命周期中仅调用一次。您可以使用此方法执行启动任务,例如将数据加载到缓存中和初始化静态值。您应该在应用程序启动期间仅设置静态数据。不要设置任何实例数据,因为它仅对创建的 HttpApplication 类的第一个实例可用。

于 2013-03-18T22:39:43.493 回答