Что произойдет, если в Application_Start будет отправлено необработанное исключение?
... снова будет запущен метод Application_Start для следующего запроса (-ов) или нет?
Это зависит от версии ASP.NET, версии сервера хостинга и/или другого контекста?
Я пытаюсь определить, хорошо ли загружать критические сборки там или нет. Например, сборки доступа к данным, которые жизненно важны для функционирования всего приложения или нет. Неспособность загрузить такую сборку сделает последующие запросы бесполезными.
Ответы
Ответ 1
Application_Start будет запущен только один раз для каждого веб-приложения, поэтому в вашем случае начало не повторится для последующих запросов.
Как правило, я предпочитаю ставить один раз старт-код в начале запуска приложения в try-catch, а если есть исключение, установите флаг глобальной ошибки. В каждом BeginRequest флаг проверяется, и если он установлен, пользователь перенаправляется на страницу пользовательской ошибки, указывающую, что сайт не работает, и обратитесь к администратору.