Что запускает первый Application_Start или OnStart WebRole? - PullRequest
5 голосов
/ 15 июля 2011

У меня есть проект MVC в Windows Azure.Этот проект имеет WebRole с методом OnStart.И я хочу знать, что запускается сначала Application_Start из Global.asax или OnStart WebRole?

Ответы [ 3 ]

5 голосов
/ 15 июля 2011

Уверен, это недетерминированный после SDK 1.3.Попытка перевести что-то из одного в другое просто приведет к состоянию гонки.

До версии 1.3 размещенное рабочее ядро ​​(HWC) размещалось в RoleEntryPoint, поэтому был детерминированный запуск (OnStart, Application_OnStartIIRC).Однако теперь, когда IIS размещает веб-сайт, именно IISConfigurator.exe создает пул приложений и т. Д., И в конечном итоге w3wp.exe размещает ваш веб-сайт.Этот процесс отличается от вашего RoleEntryPoint, поэтому любой из них может быть запущен первым.

3 голосов
/ 15 июля 2011

Я не могу найти 100% полных ссылок по этому вопросу (самое лучшее, что я видел, это http://blog.syntaxc4.net/?p=271),, но я считаю, что последовательность такова:

  • Любые задачи запускаrun
  • Вызывается метод WebRole OnStart
  • Вызывается метод WebRole Run () - и в то же время IIS запускает веб-сайты - поэтому в этот момент Application_Start будет вызван впервые.
0 голосов
/ 30 октября 2017
...