WebConfig中的配置信息
WebConfig出現在應用程序的每一個目錄中通過C#NET新建一個Web應用程序後默認情況下會在根目錄自動創建一個WebConfig文件包括系統的默認設置所有的子目錄都繼承於根目錄下的設置如果想修改子目錄的設置可以在該子目錄下新建一個WebConfig文件子文件夾下WebConfig文件可以提供除從父目錄繼承的配置信息以外的配置信息也可以重寫或修改父目錄中定義的設置在運行時對WebConfig文件的修改不需要重啟服務即可生效(注意<processModel> 節例外)WebConfig文件是可以擴展的可以自定義新配置參數並編寫配置節處理程序以對它進行處理
WebConfig配置文件(默認的配置設置)以下所有的代碼都應該位於
<configuration>
<systemweb>
</systemweb>
</configuration>
之間下面的示例都省略了這段XML標記
<authentication>節
作用配置ASPNET身份驗證支持(為WindowsFormsPassPortNone 種)該元素只能在計算機站點或應用程序級別聲明<authentication>元素必須與<authorization>節配合使用
以下示例為基於窗體(Forms)的身份驗證配置站點當未登錄的用戶訪問需要身份驗證的網頁時網頁將自動跳轉到登錄網頁
<authentication mode=Forms >
<forms loginUrl=logonaspx name=FormsAuthCookie/>
</authentication>
loginUrl表示登錄網頁的名稱
name表示Cookie名稱
<authorization>節
作用控制對URL資源的客戶端訪問(如允許匿名用戶訪問)此元素可以在任何級別(計算機站點應用程序子目錄或頁)上聲明必須與<authentication>節配合使用
下面來看一個禁止匿名用戶訪問的示例
<authorization>
<deny users=?/>
</authorization>
提示可以使用useridentityname來獲取已驗證的當前用戶名可以使用webSecurity FormsAuthenticationRedirectFromLoginPage方法將已驗證的用戶重定向到用戶剛才請求的頁面
<compilation>節
作用配置ASPNET使用的所有編譯設置默認的debug屬性為True在程序編譯完成交付使用之後應將其設為True(WebConfig文件中有詳細說明此處省略示例)
<customErrors>節
作用為ASPNET 應用程序提供有關自定義錯誤的信息(不適用於XML Web Services中發生的錯誤)
示例當發生錯誤時將網頁跳轉到自定義的錯誤頁面
<customErrors defaultRedirect=ErrorPageaspx mode=RemoteOnly>
</customErrors>
defaultRedirect表示自定義的錯誤網頁的名稱
mode元素表示對不在本地 Web 服務器上運行的用戶顯示自定義(友好的)信息
<httpRuntime>節
作用配置ASPNET HTTP運行庫設置該節可以在計算機站點應用程序和子目錄級別聲明
示例控制用戶上傳文件最大為MB最長時間為秒最多請求數為
<httpRuntime maxRequestLength=
executionTimeout= appRequestQueueLimit=/>
<pages>節
作用該標識用於特別指定頁的配置(如是否啟用會話狀態視圖狀態是否檢測用戶的輸入等)<pages>可以在計算機站點應用程序和子目錄級別聲明
示例不檢測用戶在浏覽器輸入的內容中是否存在潛在的危險數據(注意該項默認為檢測如果使用了不檢測一定要對用戶的輸入進行編碼或驗證)在從客戶端回發頁時將檢查加密的視圖狀態以驗證視圖狀態是否已在客戶端被篡改
<pages buffer=true enableViewStateMac=true validateRequest=false/>
<sessionState>節
作用為當前應用程序配置會話狀態設置(如設置是否啟用會話狀態會話狀態保存位置)
示例
<sessionState mode=InProc cookieless=true timeout=/>
</sessionState>
mode=InProc表示在本地存儲會話狀態(可以選擇存儲在遠程服務器或SAL服務器中或不啟用會話狀態)
cookieless=true表示如果用戶浏覽器不支持Cookie則啟用會話狀態(默認為false)
timeout=表示會話可以處於空閒狀態的分鐘數
<trace>節
作用配置ASPNET跟蹤服務主要用來測試判斷程序哪裡出錯
示例以下為WebConfig中的默認配置
<trace enabled=false requestLimit=
pageOutput=false traceMode=SortByTime
localOnly=true />
enabled=false表示不啟用跟蹤
requestLimit=表示指定在服務器上存儲的跟蹤請求的數目
pageOutput=false表示只能通過跟蹤實用工具訪問跟蹤輸出
traceMode=SortByTime表示以處理跟蹤的順序來顯示跟蹤信息
localOnly=true表示跟蹤查看器(traceaxd)只用於宿主Web服務器
返回目錄ASPNET項目開發指南
編輯推薦
ASPNET MVC 框架揭秘
ASPNET開發寶典
ASP NET開發培訓視頻教程
From:http://tw.wingwit.com/Article/program/net/201311/15958.html