什么首先启动Application_Start或WebRole的OnStart?

时间:2011-07-15 08:34:40

标签: asp.net-mvc azure azure-web-roles

我在Windows Azure上有MVC项目。这个项目有WebRole,方法是OnStart。我想知道什么是首先启动Global.asax或WebRole的OnStart的Application_Start?

3 个答案:

答案 0 :(得分:5)

非常确定这在SDK 1.3之后是非确定的。尝试从一个到另一个的时间,只会在竞争条件下结束。

在1.3之前,托管工作者核心(HWC)托管在RoleEntryPoint中,因此存在确定性启动(OnStart,Application_OnStart,IIRC)。但是,当IIS现在托管Web时,IISConfigurator.exe会创建应用程序池等,最终w3wp.exe将托管您的网站。这是一个与RoleEntryPoint不同的过程,因此任何一个都可以先启动。

答案 1 :(得分:3)

我找不到任何100%完整的参考资料(关于我见过的最好的http://blog.syntaxc4.net/?p=271),但我相信序列是:

  • 运行任何启动任务
  • WebRole OnStart方法称为
  • 调用WebRole Run()方法 - 同时IIS启动网站 - 所以此时将首次调用Application_Start。

答案 2 :(得分:0)