Web API - пользовательские ошибки - на ранней стадии

Если вы хотите вернуть страницу пользовательских ошибок, а не желтый экран, для ошибок в проекте WebApi, которые происходят в начале конвейера.

Я заменил IExceptionHandler по умолчанию.

который обрабатывает больше ошибок, чем фильтры Исключения, которые не обрабатывают

  • Ошибка внутри фильтра исключений
  • Исключение, связанное с маршрутизацией
  • Ошибка внутри класса обработчиков сообщений
  • Ошибка в конструкторе контроллера

Однако не все исключения обрабатываются путем замены IExceptionHandler

Например, если я выброшу ошибку в Application_BeginRequest (просто пример ошибки, возникающей в начале конвейера), она не получает этого, и я получаю желтый экран. Когда пользовательские ошибки включаются, это вырезанный желтый экран, но все же желтый экран.

Как я могу обрабатывать все ошибки (даже это в начале конвейера) и возвращать пользовательскую ошибку JSON с правильным кодом ответа, как это делается, когда пользовательский обработчик исключений срабатывает.

Некоторые статьи http://www.c-sharpcorner.com/article/exception-handling-in-asp-net-web-api/ https://www.exceptionnotfound.net/the-asp-net-web-api- exception-handling-pipe-a-guide-tour / https://www.jayway.com/2016/01/08/improving-error-handling-asp-net-web-api-2-1-owin/ (I 'не использует OWIN, но включен для справки)

Я могу уловить ошибку в событии Global.asax Application_Error

c#,asp.net-web-api,error-handling,

0