【发布时间】:2009-06-06 05:47:36
【问题描述】:
有人能解释一下为什么从 HttpApplication 派生的自定义类的构造函数在应用程序启动时会被多次调用吗?
我的代码结构如下:
- 我在 global.asax 中的 Global 类派生自 CustomApp 类。
- CustomApp 类派生自 HttpApplication 类
Global 类是在启动时创建的,但是当我在构造函数中放置断点时,它会被多次调用!我认为应该只创建一个 Application 类的实例?
我错了吗?
UPD:Web 服务器确实可以创建多个 HttpApplication 实例来处理同时进来的多个请求。当您在 HttpApplication 后代的构造函数中放置断点时,这一点变得尤为明显。来自客户端的多个请求(http 内容、CSS 文件等)将处于未决状态,并且为了为每个请求提供服务,Web 服务器将创建 HttpApp 的新实例。因此,在编写应用程序初始化逻辑时,请注意这一点。
【问题讨论】:
-
是否可以发布一个显示此行为的缩减代码 sn-p?