預設 ASP.NET 隱藏詳細錯誤資訊,僅顯示通用「Runtime Error」頁面。本文說明如何透過 web.config <customErrors> 控制錯誤顯示行為,並設定友善自訂錯誤頁面。
| mode | 本機 | 遠端 | 適用階段 |
|---|---|---|---|
On | 自訂頁面 | 自訂頁面 | 生產環境 |
Off | 詳細錯誤 | 詳細錯誤 | 開發/除錯 |
RemoteOnly | 詳細錯誤 | 自訂頁面 | 測試/預發布 |
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
</configuration>
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="~/Error/General.aspx" />
</system.web>
</configuration>
<customErrors mode="On" defaultRedirect="~/Error/General.aspx"> <error statusCode="404" redirect="~/Error/404.aspx" /> <error statusCode="500" redirect="~/Error/500.aspx" /> </customErrors>
defaultRedirect 路徑建議使用應用程式相對路徑 (~/)。Application_Error (Global.asax) 記錄日誌、發送告警。app.UseExceptionHandler / app.UseStatusCodePages 中介軟體。