Asp.NET Global.asax - жизненный цикл приложения - PullRequest
2 голосов
/ 24 июня 2010

Я использую Visual Studio 2005 и запускаю свое приложение изнутри, напрямую используя сервер приложений для разработки.

Если я установил точку останова внутри Application_Start и одну внутри Session_Start, то последняя будет достигнута первой, иЧестно говоря, я думаю, что все должно быть наоборот.

Есть мысли?

Ответы [ 3 ]

9 голосов
/ 24 июня 2010

по умолчанию, событие Application_Start не будет повторяться при запуске приложения, если сервер веб-разработки не будет остановлен и перезапущен.

В Visual Studio есть настройка, заставляющая процесс сервера веб-разработки перезапускаться при каждом запуске.Просто щелкните правой кнопкой мыши файл проекта> Интернет> установите флажок Включить редактирование и продолжить.Это вызывает перезапуск процесса веб-сервера ASP.Net при каждом запуске отладки.

2 голосов
/ 24 июня 2010

Извините, что говорю, но вы не правы.Сначала запускается приложение, а Application_Start выполняется один раз в течение срока службы приложения - после запуска приложения могут запускаться любые сеансы, обычно по одному на пользователя.См. Жизненный цикл приложения ASP .NET и Жизненный цикл страницы ASP .NET в MSDN для справки.

0 голосов
/ 24 июня 2010

Application_Start запускается при первой загрузке вашего приложения в память. Это должно срабатывать каждый раз, когда AppPool перезагружается в IIS. Если вы говорите о локальном сервере веб-разработки VS, для достижения Application_Start потребуется перекомпиляция или остановка и перезапуск.

...