5

我在 Windows Azure 上有 MVC 项目。这个项目有 WebRole 和 OnStart 方法。我想知道 Global.asax 或 WebRole 的 OnStart 的第一个 Application_Start 是什么开始的?

4

3 回答 3

5

很确定这在 SDK 1.3 之后是不确定的。试图从一个时间到另一个时间只会以竞争状态结束。

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

于 2011-07-15T15:24:54.643 回答
3

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

  • 运行任何启动任务
  • 调用 WebRole OnStart 方法
  • WebRole Run() 方法被调用 - 同时 IIS 启动网站 - 所以此时 Application_Start 将第一次被调用。
于 2011-07-15T09:42:08.450 回答
0

根据微软的文档,Application_Start 方法是在 OnStart 方法之后调用的。

于 2017-10-30T20:03:34.063 回答