ASP.NET MVC中的错误返回之间的区别

时间:2014-05-08 12:46:52

标签: asp.net asp.net-mvc custom-error-pages custom-errors custom-error-handling

返回新的HttpStatusCodeResult(500)之间的区别是什么,并导致操作中出现真正的错误(如除零)?

我问,因为我的customErrors工作正常时会出现除零之类的错误,但如果我返回新的HttpStatusCodeResult(500),则customError不会显示我的页面

1 个答案:

答案 0 :(得分:3)

HttpStatusCodeResult用于使用实际的HTTP状态代码通知浏览器操作的结果。例如,如果浏览器尝试加载不再可用的图像,则可以发送404.如果用户尝试访问需要身份验证的资源,则可以返回401。

您的代码导致的错误通常不需要通知浏览器错误,而是需要使用带有消息的错误页面通知用户。但是,此错误页面(很可能)将以HTTP状态代码200发送到浏览器。

tldr;这些是两种不同类型的错误,具有不同的含义,适用于不同的收件人。