访问 .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中文网其他相关文章!