相关疑难解决方法(0)

如果我覆盖DLL,我的ASP.NET应用程序是否会停止执行?

假设我的ASP.NET应用程序正在进行4次单独的数据库调用.如果在第二次调用之后,我覆盖了BIN文件夹中的DLL,是否会阻止应用程序继续处理,从而导致第3次和第4次数据库调用失败?

莫什,非常感谢任何建议

asp.net

16
推荐指数
1
解决办法
1496
查看次数

Application_Start与OnInit对比构造函数

自从我几年前开始编写经典的ASP 12(左右)以来,我已经完成了这一切,我从来没有找到一个很好的解决方案,因为ASP和ASP.NET的架构一直是不良做法的沼泽,魔术共享单身,等我最大的问题是用HttpApplication其非事件的事件(对象Application_Start,Application_End等等).

如果你想在HTTP应用程序的整个生命周期内做一次Application_Start事情,那么这是显而易见的.对?不完全是.首先,这本身不是一个事件,它是一个神奇的命名约定,如果遵循这个约定,会导致该方法在IIS创建的每个AppDomain上调用一次.

除了魔术命名惯例是一种可怕的做法,我开始认为这可能是StartHttpApplication对象上不存在事件的原因.所以我已经尝试过确实存在的事件,例如Init.嗯,这也不是一个真正的事件,它是一个可以覆盖的方法,这是下一个最好的事情.

似乎该Init()方法是针对HttpApplication对象的每个实例化调用的,每个AppDomain发生的次数不止一次.这意味着我不妨将我的启动逻辑放在HttpApplication对象的构造函数中.

现在我的问题是,为什么我不应该将我的启动逻辑放在构造函数中?为什么甚至Init()存在,我需要关心什么Application_Start?如果我这样做,任何人都可以解释为什么HttpApplication对象中的这个伪事件没有适当的事件或可覆盖的方法?

任何人都可以向我解释为什么在一个典型的ASP.NET应用程序中,我HttpApplication创建了8个实例(这会导致构造函数Init运行多次,当然;这可以通过锁定和调用的共享静态布尔值来缓解initialized)当我的应用程序只有一个AppDomain?

asp.net lifecycle httpapplication app-startup

7
推荐指数
2
解决办法
2216
查看次数

标签 统计

asp.net ×2

app-startup ×1

httpapplication ×1

lifecycle ×1