Как корректно завершить работу приложения ASP.NET при прекращении отладки в VS 2010?
Я разрабатываю и отлаживаю приложение ASP.NET с VS 2010. Мое приложение ASP.NET содержит некоторые соединения с другими приложениями на других машинах. Когда я прекращаю отладку, я хочу, чтобы эти соединения были освобождены. Если этого не происходит, другие приложения перестают работать, и я должен их перезапустить.
В конце я сохраню свой код завершения в методе Application_End в Global.asax.cs, но этот не вызывается при остановке отладки.
Есть ли способ прервать отладку моего приложения ASP.NET, чтобы не все было уничтожено сразу, а чтобы был вызван последний метод, в который я мог бы добавить свой код завершения?
2 ответа
Я неправильно понял, как работает отладка приложения ASP.NET. Я думал, что в тот момент, когда я прекращаю отладку (нажимая Shift+F5), приложение ASP.NET завершается и дальнейшая строка кода не выполняется. Это было моим объяснением того, почему метод Application_End не вызывается.
Но на самом деле приложение ASP.NET продолжается, когда отладчик отключен, и поэтому метод Application_End не вызывается.
Я не уверен, в чем ваша проблема, но, вероятно,...
Вы инициализируете сеанс отладки, нажимая F5 и, таким образом, отлаживая через cassini. Таким образом, когда вы завершаете сеанс отладки, приложение закрывается.
Если у вас есть настроенное приложение IIS, вы можете просто присоединить его к запущенному процессу - обычно это "CTRL + ALT + P" - выбрать w3wp.exe (помните о флажках внизу, которые нужно проверить). Таким образом, ваше приложение не будет остановлено после завершения сеанса отладки.
Решает ли это вашу проблему?