.net1.1中如果需要灵活的操作和读写配置文件并不是十分方便,一般都会在项目中封装一个配置文件管理类来进行读写操作。而在.net2.0中使用ConfigurationManager 和WebConfigurationManager 类可以很好的管理配置文件,ConfigurationManager类在System.Configuration 中,WebConfigurationManager在System.Web.Configuration中。根据MSDN的解释,对于 Web 应用程序配置,建议使用System.Web.Configuration.WebConfigurationManager 类,而不要使用 System.Configuration.ConfigurationManager 类。
如何使用WebConfigurationManager操作配置文件:
// 打开配置文件
Configuration config = WebConfigurationManager.OpenWebConfiguration( " ~ " );
// 获取appSettings节点
AppSettingsSection appSection = (AppSettingsSection)config.GetSection( " appSettings " );
// 在appSettings节点中添加元素
appSection.Settings.Add( " addkey1 " , " key1's value " );
appSection.Settings.Add( " addkey2 " , " key2's value " );
config.Save();
Configuration config = WebConfigurationManager.OpenWebConfiguration( " ~ " );
// 获取appSettings节点
AppSettingsSection appSection = (AppSettingsSection)config.GetSection( " appSettings " );
// 在appSettings节点中添加元素
appSection.Settings.Add( " addkey1 " , " key1's value " );
appSection.Settings.Add( " addkey2 " , " key2's value " );
config.Save();
运行代码之后可以看见配置文件中的改变:
< appSettings >
< add key = " addkey1 " value = " key1's value " />
< add key = " addkey2 " value = " key2's value " />
</ appSettings >
< add key = " addkey1 " value = " key1's value " />
< add key = " addkey2 " value = " key2's value " />
</ appSettings >
修改和删除节点或属性也非常方便:
// 打开配置文件
Configuration config = WebConfigurationManager.OpenWebConfiguration( " ~ " );
// 获取appSettings节点
AppSettingsSection appSection = (AppSettingsSection)config.GetSection( " appSettings " );
// 删除appSettings节点中的元素
appSection.Settings.Remove( " addkey1 " );
// 修改appSettings节点中的元素
appSection.Settings[ " addkey2 " ].Value = " Modify key2's value " ;
config.Save();
Configuration config = WebConfigurationManager.OpenWebConfiguration( " ~ " );
// 获取appSettings节点
AppSettingsSection appSection = (AppSettingsSection)config.GetSection( " appSettings " );
// 删除appSettings节点中的元素
appSection.Settings.Remove( " addkey1 " );
// 修改appSettings节点中的元素
appSection.Settings[ " addkey2 " ].Value = " Modify key2's value " ;
config.Save();
配置文件:
< appSettings >
< add key = " addkey2 " value = " Modify key2's value " />
</ appSettings >
< add key = " addkey2 " value = " Modify key2's value " />
</ appSettings >