如何在不实现 IConfigurationSectionHandler 接口的情况下使用自定义节处理程序
本文关键字:自定义 程序 处理 情况下 实现 接口 IConfigurationSectionHandler | 更新日期: 2023-09-27 18:30:22
我想在我的web.config文件中创建一个这样的部分:
<paths>
<path>''123.123.132.123'c$'test'folder</path>
<path>''123.123.132.123'c$'test'folder</path>
</paths>
我正在寻找替代方案,我想使用默认的部分处理程序之一,但我只能找到与此配置一起使用的部分处理程序
<CustomGroup>
<add key="key1" value="value1"/>
</CustomGroup>
(这将是 SingleTagSectionHandlers、DictionarySectionHandlers、NameValueSectionHandler 等)。
有什么方法可以将
我是否必须实现 IConfigurationSectionHandler 接口?
如果您使用 System.Configuration.IgnoreSectionHandler,则不必这样做。
网络.config
<configuration>
<configSections>
<section name="Paths" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<Paths>
<path>''123.123.132.123'c$'test'folder</path>
<path>''123.123.132.123'c$'test'folder</path>
</Paths>
然后,您可以使用任何您想要获取值的内容手动读取 web.config。
public IEnumerable<string> GetPathsFromConfig()
{
var xdoc = XDocument.Load(ConfigurationManager
.OpenExeConfiguration(ConfigurationUserLevel.None)
.FilePath);
var paths = xdoc.Descendants("Paths")
.Descendants("path")
.Select(x => x.Value);
return paths
}
其他明智的做法,您必须使用配置部分(操作方法)创建自定义配置部分。