ASP.NET MVC 5: как отключить пользовательскую страницу ошибки из сторонней библиотеки

#c# #asp.net-mvc #custom-error-pages

#c# #asp.net-mvc #пользовательские страницы ошибок

Вопрос:

У меня есть старый asp.net веб-сайт mvc 5 (.NET 4.5), построенный на сторонней библиотеке с закрытым исходным кодом. В web.config моего веб-сайта я попытался включить пользовательские ошибки:

 <customErrors mode="On" />
  

Вместо отображения моей страницы ошибок появилась пользовательская страница ошибок из библиотеки. Просматривая библиотеку с помощью отражателя, я нашел класс, который выглядит следующим образом:

   [GeneratedCode("RazorGenerator", "2.0.0.0")]
  [PageVirtualPath("~/Views/Shared/Error.cshtml")]
  public class Error : WebViewPage<HandleErrorInfo>
  {
    public override void Execute()
    {
      ...
    }
  }
  

Метод execute содержит HTML для содержимого страницы.

Достаточно ли одного этого класса, чтобы переопределить поведение пользовательской ошибки, или есть еще какая-то конфигурация, скрывающаяся в другом месте?

Есть ли какой-нибудь способ, которым я мог бы программно переопределить поведение пользовательской ошибки своей собственной ошибкой?

Ответ №1:

Вы можете вернуть свою страницу ошибок, как показано ниже, из вашего метода контроллера;

  return Redirect("/error");
  

Комментарии:

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