有時候我們的網站程序在本地運行沒有問題,但在上傳到遠程服務器后則報錯。這就需要我們了解具體錯誤,但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"/>
所以遇到這種問題時一定要仔細觀察,排除各種可能性。