HttpApplication.Application_Start не запускается после обновления до веб-API 2
Я обновил приложение до Web Api 2, и Application_Start не запускал пост-обновление, запущенное на IIS Express. Я выполнил официальный путь обновления в http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 и выполнил тройную проверку моих настроек.
Приложение использует StructureMap MVC 4 для ввода зависимостей. Таким образом, WebActivator PreApplicationStartMethod запускается, и определитель зависимостей устанавливается правильно. После этого никакое другое исполнение не может быть прослежено. Я включил "Редактировать" и "Продолжить", но точка останова в начале Application_Start не попала.
Здесь все, что я пробовал:
а. Отключите PreApplicationStartMethod и запустите приложение.
б. Измените настройки компиляции Global.asax и код
с. Создайте еще один проект WebApi2 с аналогичной структурой и настройте минус фактический код, и он отлично работает
Я очистил и запустил приложение; также очистили папку Temp ASP.NET
Оцените помощь в решении этой проблемы.
Ответы
Ответ 1
Ваш отладчик присоединяется после запуска вашего приложения, поэтому вы не будете удалять точки останова в методе запуска приложения. Обходной путь заключается в том, чтобы заставить ваш веб-сервер перезагрузиться, пока вы подключены к процессу:
Просто отредактируйте свой web.config(просто добавьте пробел) и сохраните его, это заставит ваше приложение http перезагрузиться.
Ответ 2
Поместите оператор Debugger.Break();
в свой Application_Start, а затем выполните iisreset
или переработайте пул приложений, а затем нажмите F5. Окно отладчика всегда должно появляться, если точка останова не разрезает его.
Ответ 3
Убедитесь, что IIS Express выключен, затем снова F5, чтобы увидеть, поражен ли Application_Start.
Ответ 4
Я столкнулся с одной и той же проблемой.
Метод global.asax.cs Application_Start()
не имел параметров.
Как только я добавил стандартные Application_Start(object sender, EventArgs e)
, метод получил удар.