MVC自定义错误/ http错误

时间:2017-07-06 13:25:07

标签: asp.net asp.net-mvc

我一直在尝试实现自定义错误和http错误而无法使其正常工作

1)我在配置中有自定义错误

 <customErrors mode="On" defaultRedirect="~/ErrorPages/404.aspx"  redirectMode="ResponseRewrite">
      <error statusCode="403" redirect="~/ErrorPages/403.aspx"/>
      <error statusCode="404" redirect="~/ErrorPages/404.aspx"/>
      <error statusCode="500" redirect="~/ErrorPages/500.aspx"/>     
    </customErrors>

按照我的理解,我会尝试http://localhost:50753/unmatchedURL MVC将生成404并从customErrors中重定向到〜/ ErrorPages / 404.aspx

总是重定向到/错误,我不知道为什么

2)和我的httperrors

<httpErrors errorMode="Custom" existingResponse="PassThrough">
      <clear/>
      <remove statusCode="404"/>
      <error statusCode="404" path="~/ErrorPages/404.html" responseMode="Redirect"/>
      <remove statusCode="500"/>
      <error statusCode="500" path="~/ErrorPages/500.html" responseMode="Redirect"/>
    </httpErrors>

如果我尝试http://localhost:50753/unmatchedURL.html它将被IIS选中,IIS将生成404并将客户端重定向到〜/ ErrorPages / 404.html。

但它也不起作用,它返回到始终/错误

如果我尝试http://localhost:50753/Scripts/app/%27%26%20SET%20%2fA%200xFFF9999-2%20%26/templates/staticheader.html,它会产生500 我得到了结果

enter image description here

问题:

1)为什么它总是重定向到/ Error,因为我在filterconfig中注释了//filters.Add(new HandleErrorAttribute());而没有在解决方案中使用任何位置

2)我必须使用<httpErrors errorMode="Custom" existingResponse="PassThrough">因为我发送了错误的请求响应以防代码异常

有人可以帮助我,为什么它不起作用

0 个答案:

没有答案