2014-03-26 61 views
1

我已經設置了自定義錯誤頁在web.config中如下:ASP.NET 500服務器錯誤有時不通過自定義錯誤頁處理

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

我期待「500服務器錯誤」導致一重定向到/ErrorPage.aspx。但這一般發生,除了在某些情況下,IIS將返回以下內容:

500服務器錯誤處理過程中發生 錯誤:如果可能的話,檢查服務器 管理員的事件日誌:通過改變調試獲得更多的信息模式,並在配置中關閉自定義錯誤。

我的這個問題是:

  1. 我要控制哪些內容被顯示給用戶 - 即不是這個「醜陋」的錯誤。我不知道用什麼HTML模板來生成內容 - 它不是IIS配置使用的500.htm(來自%SystemDrive%\ inetpub \ custerr)。

  2. 雖然它說:「檢查事件日誌」,我從來沒有看到任何有 - 所以我沒有線索誤差的來源

所以,那會是什麼樣的源錯誤是,我該如何控制響應?

(該網站是ASP.NET 4.0 Web表單,IIS7.5上運行,使用的是經典模式的應用程序池)

回答

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> 
+0

請閱讀這個問題 - 這不是問題 – Laurence