MVC HandleError返回错误500并查看错误页面

问题描述:

我在VS2010中使用MVC 3并试图使[HandleError]正常工作。我在控制器中创建一个测试,以模拟碰撞如下:MVC HandleError返回错误500并查看错误页面

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

也进入的web.config和添加:

<customErrors mode="on" /> 

如果我从铬运行,MVC返回视图*享/ Error.aspx,所以这工作正常。

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

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

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

如果你使你的错误页面> 512字节,它应该工作正常。 It's just IE being an inconsiderate swine, as ever