Что произойдет, если в Application_Start выдается необработанное исключение? - PullRequest
15 голосов
/ 04 мая 2011

... будет ли метод Application_Start снова запущен для следующего запроса (запросов) или нет?

Зависит ли это от версии ASP.NET, версии хост-сервера и / или другого контекста?

Я пытаюсь определить, хорошо ли загружать критические сборки или нет.Например, сборки доступа к данным, которые жизненно важны для функционирования всего приложения или нет.Невозможность загрузить такую ​​сборку сделает последующие запросы бесполезными.

1 Ответ

9 голосов
/ 04 мая 2011

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

Как правило, я предпочитаю вводить один раз запускаемый код при запуске приложенияв try-catch, и если есть исключение, тогда установите флаг глобальной ошибки.В каждом BeginRequest флаг проверяется, и если он установлен, пользователь перенаправляется на пользовательскую страницу ошибки, указывающую, что сайт не работает, и, пожалуйста, свяжитесь с администратором.

...