ASP.NET应用程序生命周期-不是页面生命周期



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

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

长话短说,我试着在本地复制这个,但没有发生。不管我的请求花了多长时间,IIS似乎都会等待超过shutdownTimeout设置的时间。

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

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

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

Application_Start

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

最新更新