我正在尝试使用在IIS 7.5上运行的asp.net Web应用程序调试我遇到的问题。我期望在我们通过将物理路径更改为代码的新副本来部署应用程序时,请求未完成。
我的印象是,当针对新实例执行新请求时,当前正在执行的请求将在应用程序的旧实例上完成。如果这是真的,我希望旧实例能够运行,直到达到httpRuntime.shutdownTimeout。
总而言之,我尝试在本地重现这一点并没有发生。无论我多久提出请求,IIS似乎都会等待shutdownTimeout中的设置。
这是我感兴趣的生命周期的一部分。在更改应用程序的物理路径和IIS拉动任何当前正在执行的请求之间会发生什么?
答案 0 :(得分:0)
MSDN对ASP.NET应用程序生命周期有一个非常详尽的解释。
Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法。 ASP.NET在应用程序域的生命周期内调用它们一次,而不是为每个HttpApplication实例调用它们。
<强>的Application_Start 强>
在请求ASP.NET应用程序中的第一个资源(例如页面)时调用。在应用程序的生命周期中,Application_Start方法仅被调用一次。您可以使用此方法执行启动任务,例如将数据加载到缓存中以及初始化静态值。 您应该在应用程序启动期间仅设置静态数据。不要设置任何实例数据,因为它只能用于创建的HttpApplication类的第一个实例。