.net自定義錯誤頁面實現


前言:

  在實際的web開發中,經常會遇到以下情況,導致給用不好的體驗:
    a、程序未處理的異常,直接輸出顯示到用戶頁面
    b、用戶訪問的資源不存在,直接顯示系統默認的404頁面
    c、其它以下請求錯誤狀態的系統默認頁面(403等)
  為了給用戶友好的體驗,在實際項目開發中,
需要對系統會不同的異常定制相應的友好提示頁面

  .net中自定義異常頁面的重定向都是通過web.config配置頁面配置實現,
其具體的實現方式有兩種方式:

其一、通過節點system.web新增customErrors配置節點實現

  IIS環境需求:IIS7、IIS7+、IIS7以前版本

  作用對象:作用於Asp.Net級別的錯誤處理程序
       也就是說,對於(.html/.js)等靜態資源不起作用
  實現方式:

 <system.web>
   <customErrors mode="On" defaultRedirect="ApplicationErroy.aspx">
      <error statusCode="403" redirect="/ErrorPage/403.html"/>
      <error statusCode="404" redirect="/ErrorPage/404.html"/>
      <error statusCode="500" redirect="/ErrorPage/500.html"/>
    </customErrors>
  </system.web>

 

 

其二、通過節點system.webServer新增httpErrors配置節點實現

  IIS環境需求:IIS7、IIS7+

    作用對象:作用於IIS級別的錯誤信息處理程序
       也就是說,asp.net程序異常和靜態資源異常都處理

  實現方式:

  <system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
      <clear />
      <error statusCode="404" responseMode="ExecuteURL" path="/ErrorPage/404.html" />
      <error statusCode="403" responseMode="ExecuteURL" path="/ErrorPage/403.html" />
      <error statusCode="500" responseMode="Redirect" path="/ErrorPage/500.html" />
    </httpErrors>
  </system.webServer>

 

應用總結:

  通過上面的描述,在實際開發中,只要環境時IIS7+,那么完全采用第二種方式即可



免責聲明!

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



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