asp.net自定義錯誤資訊處理
阿新 • • 發佈:2018-11-10
customErrors
- Asp.Net級別的錯誤處理程式,只處理Asp.Net應用丟擲的異常(404,403,500。。)
- 在IIS7+的伺服器依然可用(IIS7之前就引進了)
- 靜態檔案(如.jpg,.htm,.js等)不會被處理
- 放在System.Web節點
httpErrors
- IIS級別的錯誤資訊處理程式,IIS根據請求指定錯誤頁面
- 自IIS7引進
- 處理包括ASP.NET應用及ASP.NET之外的應用(ASP.NET能管的 它會管,ASP.NET不能管得它也管)
- 所有的檔案和URL都處理
- 放在System.WebServer節點
從對比中能看出 在IIS7之後 就沒必要再用customErrors了,一切httpErrors都可以辦了。
<httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="403" subStatusCode="-1" /> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="403" prefixLanguageFilePath="" path="/403.png" responseMode="ExecuteURL" /> <error statusCode="404" path="/404.aspx" responseMode="ExecuteURL" /> </httpErrors>
<system.web>
<customErrors mode="On" defaultRedirect="Error.html">
<error statusCode="403" redirect="/Error403" />
<error statusCode="404" redirect="/Error404" />
<error statusCode="500" redirect="/Error500" />
</customErrors>
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" >
<remove statusCode="403"/>
<remove statusCode="404"/>
<remove statusCode="500"/>
<error statusCode="403" responseMode="ExecuteURL" path="/Error403" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error404" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error500" />
</httpErrors>
</system.webServer>