Рассмотрите этот кусок кода.Как обрабатывать исключения, которые не выбрасываются контроллерами?
protected void Application_Start()
{
InitLogger();
InitAppContext();
AreaRegistration.RegisterAllAreas();
// WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
}
Скажем, исключение возникает в InitLogger.
Я вижу два решения для обработки этого:
- Используйте Application_Error события, чтобы сделать запрос перенаправления на какую страницу. Если я попробую этот подход, я получу
Request is not available in this context
- Использовать
<customErrors mode="On" defaultRedirect="Error.html" />
. Если я попробую его получитьhttp://localhost:1937/Error.html?aspxerrorpath=/
Как справиться с описанной ситуацией?
Спасибо.
PS: Чтобы обрабатывать исключения контроллеров (исключения и пользовательские исключения), я использовал фильтр, эта часть выполнена.