Application_Start не стреляет? - PullRequest
139 голосов
/ 13 марта 2009

У меня есть приложение ASP.NET MVC (бета), над которым я работаю, и я не могу понять, что я делаю не так, или мой метод Application_Start в Global.asax.cs факт не срабатывает при попытке отладки приложения.

Я поставил точку останова в строке в моем методе Application_Start и ожидаю, что при попытке отладки приложения точка останова попадет ... но это никогда не произойдет. Не после перезагрузки IIS, не после перезагрузки, никогда. Я что-то пропустил? Почему этот метод никогда не вызывается?

Ответы [ 27 ]

1 голос
/ 30 марта 2016

Я пытался пошагово пройти через код в RegisterRoutes (), вызываемый с момента запуска приложения, и не достиг своей точки останова. Я определил, что Application_Start не вызывали. Мне пришлось внести изменения, чтобы сделать поверхностное изменение в App_start / RouteConfig.cs и сохранить его до вызова Application_Start. Я предполагаю, что эти файлы куда-то кешируются и не вызываются, если не вносятся изменения.

1 голос
/ 13 мая 2015

После того, как я попробовал столько других ответов, сколько было применимо в моей ситуации, и мне не повезло ни с одним из них, я вошел в свойства веб-проекта (серверный проект для приложения Silverlight, использующего службы RIA), щелкнул по вкладке «Интернет» и изменил выбранный сервер с «Локальный IIS» на «IIS Express». (Обратите внимание, что я использую VS2013.) Это решило проблему. Application_Start выполняется в «IIS Express», но не в «Local IIS». Интересно ...

0 голосов
/ 23 марта 2013

Если вы используете System.Diagnostics.Debugger.Break (); Обходной путь (который я считаю вполне подходящим для временного использования), и он «просто не работает» на вашем компьютере с Windows 8. Причиной является ошибка в Visual Studio «Just in time debugging».

Исправление заключается в следующем: исправление ключа для «отладчика Visual Studio Just-In-Time»

Откройте regedit и перейдите в HKEY_CLASSES_ROOT \ AppID {E62A7A31-6025-408E-87F6-81AEB0DC9347} для значения реестра «AppIDFlags» установите флаг 0x8

Подробнее здесь: http://connect.microsoft.com/VisualStudio/feedback/details/770786/just-in-time-debugging-operation-attempted-is-not-supported

0 голосов
/ 04 июня 2013

В моем случае устранение проблемы со встроенным экземпляром ASP.NET Development Server через системный трей.

0 голосов
/ 30 апреля 2015

Проблема в основном возникает при попытке переместить файл Global.asax в другой каталог решения. Снова переместите файл Global.asax в папку по умолчанию. Это будет работать как положено.

0 голосов
/ 11 декабря 2014

Странные и сумасшедшие вещи ... но отладка на сервере и другой пользователь оставили IIS Express запущенным в своем сеансе. Мне пришлось выйти из системы этого пользователя, чтобы убить его запущенные процессы IIS Express. Это, похоже, решило проблему!

Обновление

Потратив более 1 часа в погоне за тем, что вызывало проблему ... вот в чем дело: мне несколько удалось набрать s в разделе <appSettings> в Web.config. Visual Studio пыталась предупредить меня в окне Error List с предупреждением . Признаюсь, я редко проверяю предупреждения ... должен начать проверять это с этого момента. : D Как только я удалил оскорбительный s, точка останова попала в Application_Start.

enter image description here

0 голосов
/ 25 февраля 2015

У меня была эта проблема при попытке инициализации log4net. Я решил просто сделать статический конструктор для Global.asax

static Global(){
//Do your initialization here statically
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...