asp.net-mvc – MVC HandleError返回错误500并查看错误页面

我正在使用VSC10的MVC 3并试图让[HandleError]工作.我在控制器中创建了一个测试来模拟崩溃,如下所示:

[HandleError]
public ActionResult Crash()
{
    throw new ApplicationException();
}

也进入了web.config并添加:

<customErrors mode="on" />

如果我从Chrome运行,MVC将返回Shared / Error.aspx中的视图,因此这项工作正常.

如果我从IE 8运行,我得到它友好的错误页面(“网站无法显示页面,最有可能的原因:……你可以尝试……”).我进入IE工具并关闭“显示友好的HTTP错误消息”并再次运行,IE显示我的Error.aspx视图.显然我无法让用户更改此设置,但至少我知道我的Error.aspx正在返回.

所以我运行Fiddler,当我使浏览器转到我的Crash方法时,它显示即使MVC返回我的Error.aspx视图,它也会返回结果500.这会导致IE认为它有错误并使用友好页面覆盖我的页面.

我认为MVC应该返回结果200与我的Error.aspx页面而不是500.任何人都可以给我一些关于尝试什么的想法?

最佳答案
如果您创建错误页面> 512字节,它应该工作正常. It’s just IE being an inconsiderate swine, as ever.

转载注明原文:asp.net-mvc – MVC HandleError返回错误500并查看错误页面 - 代码日志