Web.config配置customErrors mode為Off后依然不顯示具體錯誤的可能原因。


  有時候我們的網站程序在本地運行沒有問題,但在上傳到遠程服務器后則報錯。這就需要我們了解具體錯誤,但IIS默認只顯示統一的運行時錯誤,想要知道具體錯誤就需要配置Web.config中customErrors mode選項為Off。不過有時候customErrors標簽是被包裹在注釋中的,這種情況下怎么修改都不會起作用。

  如果是用編輯器打開Web.config,因為有代碼顏色區分,很容易發現這個問題。

    <authentication mode="Windows"/>
    <!--
            如果在執行請求的過程中出現未處理的錯誤,
            則通過 <customErrors> 節可以配置相應的處理步驟。具體說來,
            開發人員通過該節可以配置
            要顯示的 html 錯誤頁
            以代替錯誤堆棧跟蹤。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  但如果遠程服務器上沒有安裝相關編輯器,或者只有FTP權限,只能使用記事本編輯時就不太容易察覺了。

    <authentication mode="Windows"/>
    <!--
            如果在執行請求的過程中出現未處理的錯誤,
            則通過 <customErrors> 節可以配置相應的處理步驟。具體說來,
            開發人員通過該節可以配置
            要顯示的 html 錯誤頁
            以代替錯誤堆棧跟蹤。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  所以遇到這種問題時一定要仔細觀察,排除各種可能性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM