MVC的HandleError返回错误500,并查看错误页面 [英] MVC HandleError returns error 500 and view error page

查看:148
本文介绍了MVC的HandleError返回错误500,并查看错误页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用MVC 3 VS2010并试图获得[的HandleError]工作。我在控制器中创建了一个测试,以模拟碰撞如下:

I am using MVC 3 with VS2010 and trying to get [HandleError] working. I created a test in the controller to simulate a crash as follows:

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

还走进web.config中并补充说:

Also went into web.config and added:

<customErrors mode="on" />

如果我从Chrome中运行,MVC返回共享/ Error.aspx视图,因此这项工作ok了。

If I run from Chrome, MVC returns the view in Shared/Error.aspx, so this work ok.

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

If I run from IE 8, I get its friendly error page ("The website cannot display the page, Most likely causes: ... What you can try..."). I went into IE Tools and turned off "Show friendly HTTP error message" and run again and IE shows my Error.aspx view. Obviously I can't get users to change this setting, but at least I know my Error.aspx is being returned.

于是我跑提琴手,当我让浏览器去我崩溃的方法,它表明,即使MVC是回我Error.aspx视图,它是为结果返回500。这会导致IE认为它有一个错误,并以其友好的页面重写我的网页。

So I run Fiddler, and when I make the browser go to my Crash method, it shows that that even though MVC is returning my Error.aspx view, it is returning 500 for the Result. This causes IE to think it has an error and override my page with its friendly page.

我觉得应该MVC与我Error.aspx页面返回结果200,而不是500。谁能给我什么尝试一些想法?

I think MVC should be returning Result 200 with my Error.aspx page and not 500. Can anyone give me some ideas on what to try?

推荐答案

如果你让你的错误页> 512字节,它应该工作的罚款。 这只是IE浏览器作为一个轻率的猪,如初

If you make your error page > 512 bytes, it should work fine. It's just IE being an inconsiderate swine, as ever.

这篇关于MVC的HandleError返回错误500,并查看错误页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆