存取 .NET 類別庫中的設定設定
本指南介紹如何從 .NET 類別庫中的 app.config
或 web.config
檢索配置設定。 避免使用過時的 ConfigurationSettings.AppSettings.Get()
方法。
首選方法(有警告):
雖然通常建議使用ConfigurationManager.AppSettings["MySetting"]
,但如果沒有額外的步驟,就無法直接從類別庫項目存取它。
解:
要存取類別庫中的配置設置,請按照以下步驟操作:
新增引用: 在類別庫項目中加入 System.Configuration
的引用。
建立自訂部分處理程序: 建立一個繼承自 ConfigurationSectionHandler
的類別並重寫其 Create
方法。此自訂處理程序將允許您存取您的配置部分。
註冊自訂部分: 在 <configSections>
或 app.config
檔案的 web.config
元素中註冊您的自訂部分。
範例:
假設您想閱讀名為「MySettings」的部分:
自訂部分處理程序(例如 MySettingsHandler.cs
):
<code class="language-csharp">using System.Configuration; public class MySettingsHandler : ConfigurationSectionHandler { public override object Create(object parent, object configContext, System.Xml.XmlNode section) { var settings = new MySettingsSection(); // Populate settings from the XML node (section) here, based on your config structure. Example below assumes a single string setting. settings.MySetting = section.Attributes["mysetting"]?.Value; return settings; } } // Define a class to hold your settings public class MySettingsSection { public string MySetting { get; set; } }</code>
設定檔(app.config 或 web.config):
<code class="language-xml"><configuration> <configSections> <section name="mySettings" type="MySettingsHandler, YourAssemblyName" /> </configSections> <mySettings mysetting="YourSettingValue" /> </configuration></code>
將 "YourAssemblyName"
替換為類別庫組件的實際名稱。
存取班級庫中的設定:
<code class="language-csharp">var settings = (MySettingsSection)ConfigurationManager.GetSection("mySettings"); string mySettingValue = settings.MySetting;</code>
這種方法可讓您安全且正確地從 .NET 類別庫存取配置設定。 請記住調整自訂部分處理程序和設定檔以符合您的特定配置結構。
以上是如何從 .NET 類別庫中的 app.config 或 web.config 讀取組態設定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!