ASP.NET 500服务器错误有时不由自定义错误页面处理

时间:2014-03-26 13:54:06

标签: asp.net iis iis-7 iis-7.5

我在web.config中设置了如下自定义错误页面:

<customErrors mode="RemoteOnly" redirectMode="ResponseRedirect" defaultRedirect="/ErrorPage.aspx">
  <error statusCode="404" redirect="/404.aspx" />
</customErrors>

我期待&#34; 500服务器错误&#34;导致重定向到/ErrorPage.aspx。除非在IIS返回以下内容的某些情况下,否则通常会发生这种情况:

500服务器错误 处理期间发生错误:如果可能,请检查服务器的事件日志 管理员:通过更改为调试模式并在配置中关闭自定义错误来获取更多信息

我的问题是:

  1. 我想控制向用户显示的内容 - 即不是这个&#34;丑陋&#34;错误。我不知道用什么HTML模板生成内容 - 它不是由IIS配置使用的500.htm(来自%SystemDrive%\ inetpub \ custerr)。

  2. 虽然它说&#34;检查事件日志&#34;,我从来没有看到任何东西 - 所以我没有关于错误来源的线索

  3. 那么,这种错误的根源是什么,以及如何控制响应呢?

    (该站点是ASP.NET 4.0 webforms,在IIS7.5上运行,使用经典模式应用程序池)

    由于

1 个答案:

答案 0 :(得分:0)

配置500 statusCode也使用redirectMode=ResponseRewrite来避免302

阅读 Article

<customErrors defaultRedirect="ErrorPage.aspx" mode="On" 
     redirectMode="ResponseRewrite">

   <error statusCode="404" redirect="404.aspx"/>
   <error statusCode="500" redirect="ErrorPage.aspx"/>

</customErrors>