【问题标题】:What starts first Application_Start or WebRole's OnStart?什么先启动 Application_Start 或 WebRole 的 OnStart?
【发布时间】:2017-10-31 04:03:34
【问题描述】:

我在 Windows Azure 上有 MVC 项目。这个项目有 WebRole 和 OnStart 方法。而且我想知道 Global.asax 的 Application_Start 还是 WebRole 的 OnStart 最先开始的是什么?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-22
        • 2012-03-23
        • 2012-10-17
        • 2023-02-15
        相关资源
        最近更新 更多