.NET将自定义配置部分作为NameValueCollection

时间:2013-11-20 22:56:40

标签: c# .net web-config app-config config

在我的web.config中,我将配置部分分成不同的文件:

<appSettings configSource="AppSettings.config" />
<mySettings configSource="MySettings.config" />

然后我使用ConfigurationManager检索设置:

NameValueCollection appSettings = System.Configuration.ConfigurationManager.AppSettings;

NameValueCollection非常方便,因为我可以这样做:

var someSetting = appSettings["someSetting"];

我想对自定义配置部分执行相同操作,但我无法弄清楚如何获取NameValueCollection:

Configuration configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConfigurationSection section = configuration.GetSection("mySettings"); 
KeyValueConfigurationCollection mySettings = ((AppSettingsSection)section).Settings;

KeyValueConfigurationCollection也适用于检索个别设置:

var mySetting = mySettings["mySetting"].Value

但我想将所有配置部分表示为相同的类型,以便切换到通用处理例程。

如何获取自定义配置部分的NameValueCollection?

1 个答案:

答案 0 :(得分:0)

我通常这样做

NameValueCollection customSection 
 = (NameValueCollection)ConfigurationManager.GetSection("NAMEOFSECTION");

然后使用

customSection["key"]检索值

请注意,如果该部分不可用,它将返回null