天天看點

web.config檔案詳解

(一).Web.Config是以XML檔案規範存儲,配置檔案分為以下格式

    1.配置節處理程式聲明

      特點: 位于配置檔案的頂部,包含在<configSections>标志中。

    2.特定應用程式配置

      特點:  位于<appSetting>中。 可以定義應用程式的全局常量設定等資訊.

    3.配置節設定

      特點:  位于<system.Web>節中,控制Asp.net運作時的行為.

    4.配置節組

      特點:  用<sectionGroup>标記,可以自定義分組,可以放到<configSections>内部或其它<sectionGroup>标記的内部.

(二).配置節的每一節

    1.<configuration>節

        根元素,其它節都是在它的内部.

    2.<appSetting>節

        此節用于定義應用程式設定項。對一些不确定設定,還可以讓使用者根據自己實際情況自己設定

        用法:

        I.

         <appSettings>

     <add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>

        定義了一個連接配接字元串常量,并且在實際應用時可以修改連接配接字元串,不用修改程式代碼.

        II.<appSettings>

      <add key="ErrPage" value="Error.aspx"/>

           <appSettings>

        定義了一個錯誤重定向頁面.

     3.<compilation>節

        格式:

          <compilation

             defaultLanguage="c#"

             debug="true"

           />

        I.default language: 定義背景代碼語言,可以選擇C#和VB.net兩種語言.

        IIdebug : 為true時,啟動aspx調試; 為false不啟動aspx調試,因而可以提高應用程式運作

                  時的性能。 一般程式員在開發時設定為true,交給客戶時設定為false.

     4.<customErrors>節

         格式:

         <customErrors

            mode="RemoteOnly"

            defaultRedirect="error.aspx"

            <error statusCode="440" redirect="err440page.aspx"/>

            <error statusCode="500" redirect="err500Page.aspx"/>

         />

         I.mode : 具有On,Off,RemoteOnly 3種狀态。On表示始終顯示自定義的資訊; Off表示始終顯示詳細的asp.net錯誤資訊; RemoteOnly表示隻對不在本地Web伺服器上運作的使用者顯示自定義資訊.

         II.defaultRedirect: 用于出現錯誤時重定向的URL位址. 是可選的

         III.statusCode:  指明錯誤狀态碼,表明一種特定的出錯狀态.

         IV. redirect:錯誤重定向的URL.

      5.<globalization>節

          格式:

          <globalization

             requestEncoding="utf-8"

             responseEncoding="utf-8"

             fileEncoding="utf-8"

          /> 

          I.requestEncoding: 它用來檢查每一個發來請求的編碼. 

          II.responseEncoding: 用于檢查發回的響應内容編碼.

          III.fileEncoding: 用于檢查aspx,asax等檔案解析的預設編碼.   

      6.<sessionState>節

          <sessionState

            mode="InProc"

            stateConnectionString="tcpip=127.0.0.1:42424"

            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

            cookieless="false"

            timeout="20"

          />

          I.mode: 分為off,Inproc,StateServer,SqlServer幾種狀态

                ​

          II. stateConnectionString :指定Asp.net應用程式存儲遠端會話狀态的伺服器名,預設為本機

          III.sqlConnectionString: 當用會話狀态資料庫時,在這裡設定連接配接字元串

          IV. Cookieless: 設定為true時,表示不使用cookie會話狀态來辨別客戶; 否則,相反.

          V.  TimeOut: 用來定義會話狀态存儲的時間,超過期限,将自動終止會話.

      7.<authentication>節

         <authentication mode="Forms">             

             <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>

         </authentication>

         <authorization>

             <deny users="?"/>

         </authorization>

         I.Windows: 使用IIS驗證方式

         II.Forms: 使用基于窗體的驗證方式

         III.Passport: 采用Passport cookie驗證模式

         IV.None: 不采用任何驗證方式

         裡面内嵌Forms節點的屬性涵義:

         I.Name: 指定完成身份驗證的Http cookie的名稱.

         II.LoginUrl: 如果未通過驗證或逾時後重定向的頁面URL,一般為登入頁面,讓使用者重新登入

         III.Protection: 指定 cookie資料的保護方式.

            可設定為: All None Encryption Validation四種保護方式

            a. All表示加密資料,并進行有效性驗證兩種方式

            b. None表示不保護Cookie.

            c. Encryption表示對Cookie内容進行加密

            d. validation表示對Cookie内容進行有效性驗證

         IV. TimeOut: 指定Cookie的失效時間.  逾時後要重新登入