ASP.NET配置文件格式淺析
ASP.NET配置文件的作用是什么呢?ASP.NET資源的配置信息包含在配置文件集中,每個文件的名稱都是 Web.config。ASP.NET配置文件格式是什么呢?每個ASP.NET配置文件都包含了由用于指定配置設(shè)置的 XML 標(biāo)記和子標(biāo)記組成的嵌套層次結(jié)構(gòu)。因為標(biāo)記必須是標(biāo)準(zhǔn)格式的 XML,所以標(biāo)記、子標(biāo)記和屬性都要區(qū)分大小寫。標(biāo)記和屬性名都是駝峰式大小寫,即標(biāo)記名的***個字符是小寫,而隨后的任何連接字的首字母全都是大寫。屬性值采用 Pascal 的大小寫格式,即***個字符大寫,而隨后的任何連接字的首字母也都大寫。true 和 false 例外,它們始終都是小寫。
那么下面就向你介紹具體的ASP.NET配置文件格式:
所有配置信息都位于 ﹤configuration﹥ 和 ﹤/configuration﹥ 根 XML 標(biāo)記之間。標(biāo)記間的配置信息分為兩大主要區(qū)域:配置節(jié)處理程序聲明區(qū)域和配置節(jié)設(shè)置區(qū)域。
配置節(jié)處理程序聲明出現(xiàn)在 ﹤configSections﹥ 和 ﹤/configSections﹥ 標(biāo)記之間配置文件的最上面。在 ﹤section﹥ 標(biāo)記中包含的每個聲明都指定了提供特定的配置數(shù)據(jù)集的節(jié)名,以及在該節(jié)中處理配置數(shù)據(jù)的 .NET Framework 類名。
配置節(jié)設(shè)置區(qū)域在 ﹤configSections﹥ 區(qū)域后面,它包含了實際的配置設(shè)置。在 ﹤configSections﹥ 區(qū)域中的每個聲明都有一個配置節(jié)。每個配置節(jié)都包含帶有該節(jié)設(shè)置屬性的子標(biāo)記。
下面的Web.config文件示例聲明了兩個配置﹤section﹥ 處理程序。一個處理程序管理應(yīng)用程序設(shè)置,另一個則管理會話狀態(tài)。
- ﹤configuration﹥
- ﹤configSections﹥
- ﹤section name="appSettings"
- type="System.Configuration.NameValueFileSectionHandler,
- System, Version=1.0.3300.0,
- Culture=neutral, PublicKeyToken=b77a5c561934e089"/﹥
- ﹤section name="sessionState"
- type="System.Web.SessionState.SessionStateSectionHandler,
- System.Web, Version=1.0.3300.0, Culture=neutral,
- PublicKeyToken=b03f5f7f11d50a3a"
- allowDefinition="MachineToApplication"/﹥
- ﹤/configSections﹥
- ﹤appSettings﹥
- ﹤add key="dsn" value="localhost;uid=MyUserName;pwd=;"/﹥
- ﹤add key="msmqserver" value="server\myqueue"/﹥
- ﹤/appSettings﹥
- ﹤sessionState cookieless="true" timeout="10"/﹥
- ﹤/configuration﹥
您只需聲明一次配置節(jié)處理程序??梢詫⑺胖迷诜?wù)器的根 Machine.config 文件中或包含 Web 應(yīng)用程序文件的虛擬目錄下的 Web.config 文件中。子目錄中的配置文件會自動繼承在父目錄中聲明的配置處理程序。詳細(xì)信息,請參閱配置繼承。
配置設(shè)置通常在節(jié)分組標(biāo)記下相互嵌套。***級的節(jié)標(biāo)記通常表示應(yīng)用配置設(shè)置的名稱空間。例如,***級的 ﹤system.net﹥ 標(biāo)記代表網(wǎng)絡(luò)類的設(shè)置,而 ﹤system.web﹥ 標(biāo)記則代表 ASP.NET 類的設(shè)置。
下例顯示了標(biāo)記嵌套。
- ﹤configuration﹥
- ﹤configSections﹥
- ﹤sectionGroup name="system.net"﹥
- ﹤section name="authenticationModules"
- type="System.Net.Configuration.NetAuthenticationModuleHandler,
- System, Version=1.0.3300.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089"/﹥
- ﹤section name="webRequestModules"
- type="System.Net.Configuration.WebRequestModuleHandler,
- System, Version=1.0.3300.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089"/﹥
- ﹤/sectionGroup﹥
- ﹤sectionGroup name="system.web"﹥
- ﹤section name="authorization"
- type="System.Web.Configuration.AuthorizationConfigHandler,
- System.Web, Version=1.0.3300.0, Culture=neutral,
- PublicKeyToken=b03f5f7f11d50a3a"/﹥
- ﹤section name="sessionState"
- type="System.Web.SessionState.SessionStateSectionHandler,
- System.Web, Version=1.0.3300.0, Culture=neutral,
- PublicKeyToken=b03f5f7f11d50a3a"
- allowDefinition="MachineToApplication"/﹥
- ﹤/sectionGroup﹥
- ﹤/configSections﹥
- ﹤system.net﹥
- ﹤! -- 在此處插入 Net 類設(shè)置。 --﹥
- ﹤/system.net﹥
- ﹤system.web﹥
- ﹤authorization﹥
- ﹤allow users="*"/﹥ ﹤!-- Allow all users --﹥
- ﹤!-- 允許或拒絕特定的用戶。
- allow users="[comma separated list of users]"
- roles="[comma separated list of roles]"/﹥
- ﹤deny users="[comma separated list of users]"
- roles="[comma separated list of roles]"/﹥
- --﹥
- ﹤/authorization﹥
- ﹤sessionState
- sqlConnectionString="data source=localhost;
- Integrated Security=SSPI;
- Initial Catalog=northwind"
- cookieless="false"
- timeout="10"/﹥
- ﹤/system.web﹥
- ﹤/configuration﹥
ASP.NET 配置結(jié)構(gòu)沒有規(guī)定結(jié)構(gòu)所支持的配置數(shù)據(jù)類型。配置節(jié)處理程序類會處理所有 Web.config 數(shù)據(jù)。您可以使用 .NET Framework 提供的預(yù)定義的配置節(jié)處理程序,也可以創(chuàng)建自己的處理程序來處理自定義的配置數(shù)據(jù)。
ASP.NET配置文件格式的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解ASP.NET配置文件格式有所幫助。
【編輯推薦】