何时在Global.asax中使用Application_Start与Init?

我想知道在什么情况下,我应该将Application_Start()Init()中的应用程序初始化代码放在我的Global.asax文件中?

两者之间的区别对我来说似乎不是很明显,除了先调用Application_start ,再调用Init()

  • 为什么我会用另一个呢?
  • 它真的有所作为吗?
  • 这两个事件之间的应用程序状态有什么变化?

到目前为止唯一真正的指针我可以findIHttpModule只有一个Init()方法,所以如果我在做什么可能在某些时候更适合实现IHttpModule我应该使用Global.asaxInit()方法,如果没有别的一致性。

从MSDN文档 :

Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法。 ASP.NET 在应用程序域的生命周期中调用它们一次,而不是为每个HttpApplication实例调用它们

在里面:

所有模块创build完毕后调用一次HttpApplication类的每个实例

更新:如果你需要确保在应用程序中只调用一次某个代码。 生命周期,Application_Start是一个更好的解决scheme。 例子:configurationlog4net?

他们之间有分歧。 每当创build应用程序的实例时调用Init()方法,Application_Start()事件只调用一次。