webapp зависает в памяти, WebDev.WebServer40.EXE не сносится - PullRequest
0 голосов
/ 18 сентября 2011

Я запускаю / отлаживаю приложение asp.net mvc3 из Visual Studio 2010.

Ничего статичного по своей природе не вызывается при повторном запуске приложения из Visual Studio.

(или даже что-то простое, как Application_Start())

Каждый раз, когда я хочу «правильно» запустить веб-приложение, мне нужно убить WebDev.WebServer40.EXE в диспетчере задач, прежде чем снова вызывать что-либо статическое.

q1) Это нормально, и если да, то почему?
q2) Если нет, то я ожидаю, что ASP.NET Development Server будет перезапускаться каждый раз, когда я перезапускаю сеанс отладки. Как я могу включить это?

UPDATE: Перекомпиляция иногда вызывает Application_Start, но не всегда.

Я прибег к вызову командного файла в предварительной сборке, например,

kill_WebServer40.bat

который содержит

taskkill /F /IM WebDev.WebServer40.EXE
exit 0

Если вы встраиваете эти две команды непосредственно в текстовую область перед сборкой, ваша компиляция завершится неудачно, если WebServer еще не запущен. Этот связанный помог исправить это.

Удивило, что это не обсуждалось более / ранее - при разработке приложения, как если бы у вас были статические данные / кеши и вы хотите запустить приложение «чистым», вы столкнетесь с этой проблемой.

1 Ответ

2 голосов
/ 18 сентября 2011

Да, это нормально. Он перезапустится, если вы дотронетесь до web.config или перекомпилируете. Сервер разработки продолжает запускать приложение в фоновом режиме после прекращения отладки.

Вы можете остановить сервер разработки на панели задач, щелкнув правой кнопкой мыши по значку и выбрав «Стоп».

Нет способа принудительно перезапускать приложение каждый раз, когда вы нажимаете кнопку отладки. Это будет необходимо только для крайнего случая, когда вы отлаживаете запуск приложения. Просто нажмите rebuild перед отладкой, и он будет иметь желаемый эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...