asp.net – 为什么几次调用HttpApplication构造函数

前端之家收集整理的这篇文章主要介绍了asp.net – 为什么几次调用HttpApplication构造函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以解释为什么在应用程序启动时多次调用从HttpApplication派生的自定义类的构造函数

我的代码结构如下:
– Global.asax中的My Global类来自CustomApp类。
– CustomApp类派生自HttpApplication类

全局类在创建时创建,但是当我在构造函数中放置一个断点时,它会被调用多次!我以为应该只有一个应用程序类的实例被创建?

我错了吗?

UPD:Web服务器确实可以创建多个HttpApplication实例来处理同时进入的多个请求。当您在HttpApplication后代的构造函数中放置断点时,这一点变得尤为明显。客户端将要求几个请求(http内容,CSS文件等),并为每个请求提供服务,Web服务器将创建新的HttpApp实例。所以,当写入应用程序初始化逻辑时,请注意这一点。

解决方法

我相信ASP.NET运行时可能会为每个应用程序域创建多个HttpApplication。所以HttpApplication.Init和Ctor可能会被多次呼叫。

如果要初始化代码只运行一次,那么应该使用Application_Start事件,每个应用程序只会调用一次。

猜你在找的asp.Net相关文章