ASP.NET提供兩種類型的設定檔:1、機器的設定檔machine.config——用以機器範圍內的設定。2、應用程式設定檔web.config——用以應用程式特定的設定
一般machine.config檔案可以從下面的位置找到: “%SystemRoot%\Microsoft.NET\Framework\V版本號碼\CONFIG\machine.config” web.config檔案一般放在ASP.NET檔案所在的目錄。
設定檔特點
初始化頁面時,首先讀取machine.config中的資訊,然後讀取儲存在web應用程式根目錄中的web.config檔案,接著ASP.NET繼續進入下一級,讀取儲存在應用程式根目錄下的子目錄中的web.config檔案,最後到要執行的ASP.NET檔案所在的目錄,就不再向下再讀子目錄。
設定檔具有如下的特徵:
有一個唯一的根項目,可以包含所有其他的元素。machine.config和web.config的根項目是<configuration>。
這些元素應該封閉在對應的開始<start>和結束</start>標記之間。這些標記區分大小寫,因此<Start>和<start>應該區別對待。
任何屬性,關鍵字或值應該封閉在雙引號內:<add key="data"></add>
設定檔結構
在machine.config中,它的聲明和設定分成了大概30個配置塊,主要介紹最為常用的3部分。
普通設定
這部分的設定檔包含了通常的應用程式配置的設定,比如逾時、請求最大長度以及在重新導向頁面時候是否使用完全限制的URL,都包含在<httpRuntime>標記中,配置的文法為:
<httpRuntime executionTimeout="180" maxRequestLength="8192"/>在ASP.NET取消請求之前,executionTimeout控制資源執行的時間,以秒為單位,90秒是預設值。maxRequestLength指定請求的最大長度,4MB是預設值。如果請求內容大於4M就需要增加這個值。
頁面配置
版面設定可以控制ASP.NET頁面的預設行為,比如在發送它之前是否要緩衝輸出,或者是否可以在應用程式的頁面使用工作階段狀態。資訊儲存在設定檔的元素中。文法為:
<pages buffer="true" enableSessionState="true"/>buffer表明代碼執行的處理模式。當它設定為true的時候,會在呈現頁面中任何HTML資料之前執行所有的代碼。enableSessionState表明是否可以使用伺服器的會話變數。預設為true,就是可以使用
應用程式設定
應用程式設定允許在設定檔中儲存應用程式的詳細資料,無需編寫定製部分處理常式。比如對資料庫連接串的設定:
<configuration>
<appSettings>
<add key="DSN" value="server=SZG-NB;uid=sa;pwd=;database=pubs"/>
</appSettings>
</configuration>將該設定檔,儲存成一個檔案,命名為web.config。和這個應用的檔案儲存到同一個目錄中:
<% @ Page Language="C#" %>
<% string strData=ConfigurationSettings.AppSettings["DSN"]; Response.Write(strData); %>
程式將儲存在Web.config中的DSN的值讀取出來,並且將值傳給strData變數,然後再利用Response.Wrtie顯示到瀏覽器