【问题标题】:Custom Error Handler for Http Error 405 in MVCMVC 中 Http 错误 405 的自定义错误处理程序
【发布时间】:2011-12-29 00:32:28
【问题描述】:

我似乎无法弄清楚如何自定义处理此错误。我有一个这样定义的端点:

[HttpGet] 公共 ActionResult Test() { ... }

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

有什么建议吗?

【问题讨论】:

  • 使用 firebug 或同等功能,您在浏览器中看到 405 还是 500 状态码?

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


【解决方案1】:

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

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

在您的 global.asax 中。

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

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

【讨论】:

  • 我注释掉了全局过滤器,我的操作或控制器都没有属性。还有其他想法吗?
猜你喜欢
  • 2014-12-01
  • 1970-01-01
  • 2017-12-18
  • 2010-12-24
  • 2010-09-27
  • 1970-01-01
  • 2018-04-29
  • 2011-06-01
  • 1970-01-01
相关资源
最近更新 更多