MVC中Http Error 405的自定义错误处理程序

时间:2011-11-14 21:23:13

标签: c# asp.net-mvc iis-7 error-handling

我似乎无法弄清楚如何自定义处理此错误。我的端点定义如下:

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

如果我尝试POST到此端点,则会抛出http 405错误,这是正确的。问题是我想提供自定义错误页面而不是IIS默认页面。我试过打破global.asax中的application_error方法,但它永远不会被调用,我尝试在web.config中添加<customErrors />部分,但无济于事。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您使用的是MVC3吗?如果是这样,请注意

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
}
你的global.asax中的

此过滤器将捕获控制器中抛出的任何异常并使其成为500响应代码。然后它会尝试找到一个名为“Error”的视图。对此进行注释,customErrors将按预期工作。

另外,仔细检查您正在使用的操作方法或控制器上的[HandleError]属性。