我想在我的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等)。
有没有办法替代&lt;添加&gt;标签为&lt;路径&GT;标签? 或者我是否必须实现IConfigurationSectionHandler接口?
答案 0 :(得分:2)
我是否必须实现IConfigurationSectionHandler接口?
如果您使用System.Configuration.IgnoreSectionHandler,则无需使用。
的web.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
}
另外,你必须Create Custom Configuration Sections Using ConfigurationSection (how-to)。