2012-04-09 96 views
1

我试图实现显示自定义错误消息此接受的解决方案:MVC3自定义错误和HTTP状态

https://stackoverflow.com/a/5229581/141172

然而,IE9始终显示该解决方案的通用500错误消息。 Google Chrome会显示我的自定义错误消息。

此更改:

Response.StatusCode = 200; // don't return: 500 

导致IE9和Chrome预期的行为。

然而,它似乎并没有在所有合理的改变HTTP状态代码只是为了让IE9在这项工作(一,网站监控解决方案将不会看到500,如果事情失败)。

如何,我可以添加自定义错误处理的方式,将在所有浏览器,在不改变HTTP状态代码?

回答

3

显然,IE会,如果它是大于512个字节较小忽略自定义错误页。解决方法是确保页面至少有513字节的数据。另外,如果您使用gzip压缩,则在压缩后它必须超过512个字节。

+0

为了测试这个,我在代码中添加了以下内容:'抛出新的IReallyWantToFinallyLikeIEButCantException(“Why,oh why!”);' – 2012-04-09 05:26:17

+1

注意:Wikipedia声称这种行为早于IE7。不过,我已经在IE9中证实了它。 http://en.wikipedia.org/wiki/HTTP_404 – 2012-04-09 05:29:33

+0

啊,我只是要发布约512个字节,但不知道这是否是或不是仍然是一个问题。感谢您确认Eric。全部为+1的轮次) – 2012-04-09 05:56:24