何时在Global.asax中使用Application_Start与Init?
我想知道在什么情况下,我应该将Application_Start()
与Init()
中的应用程序初始化代码放在我的Global.asax
文件中?
两者之间的区别对我来说似乎不是很明显,除了先调用Application_start
,再调用Init()
。
- 为什么我会用另一个呢?
- 它真的有所作为吗?
- 这两个事件之间的应用程序状态有什么变化?
到目前为止唯一真正的指针我可以findIHttpModule
只有一个Init()
方法,所以如果我在做什么可能在某些时候更适合实现IHttpModule
我应该使用Global.asax
的Init()
方法,如果没有别的一致性。
从MSDN文档 :
Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法。 ASP.NET 在应用程序域的生命周期中调用它们一次,而不是为每个HttpApplication实例调用它们 。
在里面:
所有模块创build完毕后,调用一次HttpApplication类的每个实例 。
更新:如果你需要确保在应用程序中只调用一次某个代码。 生命周期,Application_Start是一个更好的解决scheme。 例子:configurationlog4net?
是
他们之间有分歧。 每当创build应用程序的实例时调用Init()方法,Application_Start()事件只调用一次。