使用 ConfigurationSettings 對象的 AppSettings 屬性檢索 ASP.NET 配置資訊。
ASP.NET 允許開發人員通過直接公開配置設定(以強型別屬性的形式)或使用常規配置 API,從應用程式中訪問配置設定。下面的樣本顯示了 一個使用 System.Web.HttpRequest 類的 Browser 屬性訪問 <browserCaps> 配置節的頁。這是 有關屬性的雜湊表,這些屬性反映了當前正在訪問頁的瀏覽器用戶端功能。實際的 <browserCaps> 節資料包含 在 machine.config 檔案中。
以下內容為程式碼:
<%@ Page Language="C#" %> <html> <body style="font: 10.5pt 宋體"> <h3>檢索瀏覽器功能</h3> Boolean ActiveXControls = <%=Request.Browser.ActiveXControls.ToString()%><br> Boolean AOL = <%=Request.Browser.AOL.ToString()%><br> Boolean BackgroundSounds = <%=Request.Browser.BackgroundSounds.ToString()%><br> Boolean Beta = <%=Request.Browser.Beta.ToString()%><br> String Browser = <%=Request.Browser.Browser%><br> Boolean CDF = <%=Request.Browser.CDF.ToString()%><br> Boolean Cookies = <%=Request.Browser.Cookies.ToString()%><br> Boolean Crawler = <%=Request.Browser.Crawler.ToString()%><br> Boolean Frames = <%=Request.Browser.Frames.ToString()%><br> Boolean JavaApplets = <%=Request.Browser.JavaApplets.ToString()%><br> Boolean JavaScript = <%=Request.Browser.JavaScript.ToString()%><br> Int32 MajorVersion = <%=Request.Browser.MajorVersion.ToString()%><br> Double MinorVersion = <%=Request.Browser.MinorVersion.ToString()%><br> String Platform = <%=Request.Browser.Platform%><br> Boolean Tables = <%=Request.Browser.Tables.ToString()%><br> String Type = <%=Request.Browser.Type%><br> Boolean VBScript = <%=Request.Browser.VBScript.ToString()%><br> String Version = <%=Request.Browser.Version%><br> Boolean Win16 = <%=Request.Browser.Win16.ToString()%><br> Boolean Win32 = <%=Request.Browser.Win32.ToString()%><br> </body> </html> |
除了如上所示訪問配置設定外,開發人員還可使用 System.Configuration.ConfigurationSettings 類檢 索任意配置節的資料。注意,ConfigurationSettings 返回的具體對象取決於映射到配置節的節處理常式(請參 閱 IConfigurationSectionHandler.Create)。 以下代碼說明可以如何訪問 為 <customconfig> 節公開的配置資料。在該樣本中,假設配置節處理常式返回一個具有 Enabled 屬性且類型 為 CustomConfigSettings 的對象。
以下內容為程式碼:
CustomConfigSettings config = (CustomConfigSettings) ConfigurationSettings["customconfig"]; if (config.Enabled == true) { // Do something here. } Dim config As CustomConfigSettings = CType(ConfigurationSettings("customconfig"), CustomConfigSettings) If config.Enabled = True Then ' Do something here. End If var config:CustomConfigSettings = CustomConfigSettings(ConfigurationSettings["customconfig"]); if (config.Enabled == true) { // Do something here. } |
使用應用程式設定
設定檔非常適合儲存自訂應用程式設定,如資料庫連接字串、檔案路徑或遠程 XML Web 服務 URL。預設的配置節 (在 machine.config 檔案中定義)包括 <appSettings> 節,可用於將這些設定儲存為成對的名稱和數值的形式。下面的 樣本顯示一個 <appSettings> 配置節,該配置節定義應用程式的資料庫連接字串。
<configuration>
<appSettings>
<add key="pubs" value="server=(local)\NetSDK;database=pubs;Trusted_Connection=yes" />
<add key="northwind" value="server=(local)\NetSDK;database=northwind;Trusted_Connection=yes" />
</appSettings>
</configuration>
ConfigurationSettings 對象公開一個特殊的 AppSettings 屬性,可用於檢索這些設定:
以下內容為程式碼:
String dsn = ConfigurationSettings.AppSettings["pubs"]; Dim dsn As String = ConfigurationSettings.AppSettings("pubs") var dsn:String = ConfigurationSettings.AppSettings["pubs"]; |
以下內容為程式碼:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Configuration" %> <html> <script language="C#" runat="server"> void Page_Load(Object Src, EventArgs E ) { String dsn = ConfigurationSettings.AppSettings["pubs"]; SqlConnection myConnection = new SqlConnection(dsn); SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds, "作者"); MyDataGrid.DataSource=new DataView(ds.Tables[0]); MyDataGrid.DataBind(); } </script> <body> <h3><font face="宋體">檢索配置資料</font></h3> <ASP:DataGrid id="MyDataGrid" runat="server" BackColor="#ccccff" BorderColor="black" ShowFooter="false" CellPadding=3 CellSpacing="0" Font-Name="宋體" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" /> </body> </html> |