azure webrole Global.Application_Start никогда не вызывается

Я создал простой проект ASP.NET, а затем добавил дескриптор облачного развертывания с помощью Visual Studio. Как только я это сделаю, метод Application_Start() в файле global.asax никогда не будет вызываться. В моем проекте я выполняю множество операций инициализации, таких как загрузка файла web.config, загрузка строк подключения, инициализация кеша и т. д. Я не могу поместить все это в метод WebRole.OnStart().

Требуется ли какая-либо специальная конфигурация для вызова метода Application_Start() в глобальном классе?

Спасибо, Прасанна.


person phebbar    schedule 22.05.2012    source источник
comment
По-видимому, опубликовано в MSDN: social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/   -  person user94559    schedule 22.05.2012
comment
Ничего особенного тебе не нужно делать. Это должно просто работать. Откуда вы знаете, что Application_Start не вызывается?   -  person user94559    schedule 22.05.2012
comment
да. Я разместил его на обоих форумах, надеясь получить быстрый ответ. Я помещаю точку отладки в Application_Start, и она не останавливается на достигнутом, а останавливается на точке отладки WebRole.OnStart().   -  person phebbar    schedule 22.05.2012
comment
Странно... Внутри метода Application_Start() я устанавливаю свойство Application и, к моему удивлению, оно вызывается. Так что, похоже, это ошибка или функция! - Application_Start() в Global не вызывается во время отладки. Но этот метод фактически вызывается, и инициализация происходит. Так что теперь работает нормально...   -  person phebbar    schedule 22.05.2012


Ответы (1)


Как заявил SMARX, Application_start() всегда вызывается с вашей веб-ролью, если у вас есть полная роль IIS, тогда отладчик VS2010 не попадает в Application_start(). Ниже я подробно описываю, как вы можете нажать BP в Application_Start() в Global.asax.cs:

Сначала вы можете написать код Debugger.Break() в Application_Start(), как показано ниже: введите здесь описание изображения

Теперь откройте Свойства роли > Интернет и выберите

  1. Используйте настройки Visual Studio Development Server (я выбрал, как показано на рисунке ниже)
  2. Использовать локальный веб-сервер IIS

введите здесь описание изображения

Теперь отладьте свое приложение, и вы увидите сообщение, как показано ниже, для отладки процесса W3WP.EXE.

введите здесь описание изображения

Выберите опцию «Отладка» выше, после чего вы увидите BS JIT Debugger Windows, как показано ниже:

введите здесь описание изображения

Как только вы примете процесс запуска отладчика VS JIT, вы увидите попадание PB в ваш Application_start(), как показано ниже:

введите здесь описание изображения

Вот и все!!

person AvkashChauhan    schedule 22.05.2012
comment
Спасибо. Это помогает. Хотя мне это сейчас и не нужно, надеюсь, эта инструкция поможет кому-то еще. - person phebbar; 25.05.2012