關于IIS7.5下的web.config配置的一些問題_負載集群教程

      編輯Tag賺U幣

      本文介紹一個關于IIS環境下web.config配置的經驗問題。在IIS7.5中添加配置404頁面時遇到了一些問題,記錄如下:

      一開始在<customError>下的<error>節點配置404不起作用,由于程序運行在IIS7.5集成模式下,經過MSDN和GOOGLE,發現

      需要在<system.webServer>節點中配置,我們知道<system.web>節點是iis7.0之前版本的主要配置節點,由于在II7.0以后IIS管

      道處理與ASP.NET管道處理進行了集成,這樣提高了ASP.NET的處理性能,具體這方面的資料請GOOGLE,問題隨之而來,新增加的

      <system.webServer>節點中需要進行哪些修改以程序在IIS7的集成模式下能完全生效呢,主要包含以下幾個方面:

      (1) <modules> -----相當于<system.web>中的<httpModules>

      (2) <handlers> -----相當于<system.web>中的<httpHandlers>

      (3) <customError>下的<error>----相當于<system.web>中的<httpErrors>

      以上三點中,如果你的程序中有自定義的httpModules或者httpHandlers的話,那么第一點和第二點非常重要,具體資料請MSDN

      明白了這些,配置也就不難了,如下:

      <httpErrors errorMode="DetailedLocalOnly">
      <remove statusCode="404" />
      <error statusCode="404" path="/404.htm" responseMode="ExecuteURL" />
      </httpErrors>

      補充說明:

              errorMode有三個值,分別為Custom、DetailedLocalOnly、Detailed,意思為對用戶與服務器端始終顯示自定義頁面、

      只能服務器端顯示詳細出錯信息、對用戶與服務器端始終顯示詳細出錯信息。

              responseMode有File、ExecuteUrl、Redirect三個層,分別表示使用服務器端靜態文件、可執行的URL、URL轉向。

      要注意:<httpErrors>與<customErrors>是不同的,前者主要用于處理http相關的錯誤信息,而后者主要是處理應用程序級的錯誤頁轉向

      附<customErrors>的一些細節說明:

           同樣,如果Application_Error和<customerErrors>同時存在,也存在執行順序的問題。因為優先級Application_Error事件> <customErrors>配置項,所以發生應用程序級錯誤時,優先執行Application_Error事件中的代碼,如果Application_Error事件中調用了Server.ClearError()函數,<customerErrors>配置節中的defaultRedirect不起作用,因為Exception已經被清除;如果Application_Error事件中沒用調用了Server.ClearError()函數,錯誤頁會重新定位到defaultRedict指定的URL頁面,為用戶顯示友好出錯信息。

           通過對.NET提供的以上四種錯誤處理機制的分析,我們可以把它們從不同的角度分類,便于我們理解和使用。

            1.從功能上分類:用于異常處理(Handling exceptions)是Page_Error事件和Application_Error事件;用戶錯誤頁面重定向(Redirecting the user to an error page)的是 ErrorPage屬性 和 <customErrors>配置項。      2.從錯誤處理的范圍分類:用于頁面級(Page level)錯誤處理的是Page_Error事件 和 ErrorPage屬性;用于應用程序級(Application level)錯誤處理的是Application_Error事件 和 <customErrors>配置項。

      希望本文能對使用IIS7.0及IIS7.5的朋友們有幫助:)

      來源:網絡搜集//所屬分類:負載集群教程/更新時間:2013-04-14
      相關負載集群教程