Пользовательский обработчик ошибок для Http Error 405 в MVC - PullRequest
1 голос
/ 15 ноября 2011

Я не могу понять, как обработать эту ошибку.У меня есть конечная точка, определенная следующим образом:

[HttpGet] public ActionResult Test () {...}

Если я пытаюсь POST к этой конечной точке, она выдает ошибку http 405, которая является правильной,Проблема в том, что я хочу предоставить пользовательскую страницу ошибки, а не страницу по умолчанию IIS.Я попытался взломать метод application_error в global.asax, но он никогда не вызывается, и я попытался добавить раздел <customErrors /> в web.config, но безрезультатно.

Есть предложения?

1 Ответ

1 голос
/ 15 ноября 2011

Вы используете MVC3? Если это так, следите за

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
}

в вашем global.asax.

Этот фильтр будет перехватывать любые исключения, выдаваемые в контроллере, и превращать его в код ответа 500. Затем он попытается найти представление под названием «Ошибка». Закомментируйте это, и customErrors будет работать так, как вы ожидаете.

Также дважды проверьте атрибуты [HandleError] в используемом вами методе действия или контроллере.

...