預設組態檔的內容

組態檔是由巢狀的 XML 標記及子標記所成,並且透過標記屬性 (Attribute),進行組態設定,在「關於組態檔Web.Config」這一篇文章中,我們已經提及這一點,現在進一步的,我們仔細的來看看組態檔的內容。

組態可以針對ASP.NET應用程式進行非常多的設定,每一種不同的設定,均有其對應的XML標記,以編輯器所建立的預設組態檔為例,先來看看其中比較簡單的部份,下圖是預設組態檔的內容:



除了編輯器自行建立的註解說明文字,整個組態檔的內容,均於位<configuration> 與</configuration> XML根標記所形成的區塊之中:

<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!-- -->
<compilation debug="true"/>
<!-- -->
<authentication mode="Windows"/>
<!-- -->
</system.web>
</configuration>

為了方便說明,我自省略了註解當中的說明文字,如你所見,其中包含了三個子標籤,<appSettings/>、<connectionStrings/>與<system.web>,分述如下:

<appSettings/>

這一個子標籤的功能,讓開發人員於此設定並且儲存應用程式的特定組態資訊,而這些資訊以「key/value」的形式存在,它們的格式如下:

<appSettings>
<add key="keyName" value="keyValue" />
</appSettings>

假設有一個常數形態的組態資訊需要在應用程式當中被使用,此時你可以將這個值以一個指定的名稱作命名,然後以「key/value」配對,透過<add/>設定於<appSettings>區塊當中,以上述的組態為例,此時名稱為keyName的key被儲存,它的對應值則是keyValue,最後,我們可以在應用程式當中,以key的名稱存取這個值,如下式:

varKeyValue = ConfigurationManager.AppSettings["keyName"];

ConfigurationManagerd是ASP.NET 2.0才有的類別,如果你是使用之前的版本,必須透過ConfigurationSettings作設定。

<connectionStrings/>

這是另外一種類似<appSettings/>的資訊設定標籤,不過它專門用來儲存設定資料庫連接字串集合,同樣以「key/value」的形式作配對,在前一個版本的ASP.NET中,連接字串的資訊則同樣被儲存在上述的<appSettings/>當中。

<system.web>

這一個標籤用來指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),它的內容同時包含用來設定 ASP.NET Web 應用程式以及控制這些應用程式行為的組態項目。
在你運用ASP.NET實作各種Web應用程式的過程當中,會需要在這裏進行大部份的組設定,例如這個預設的組態檔中,就直接建立了控制編譯過程除錯模式的<compilation>與指定認證模式的<authentication>子標籤。

組態檔要談的內容很多,這一篇我們先對幾個內建的預設標籤項目作說明,其他的細節,我們另闢文章進一步作說明。

沒有留言: