.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", "key1s value");
appsection.settings.add("addkey2", "key2s value");
config.save();
运行代码之后可以看见配置文件中的改变:
<appsettings>
<add key="addkey1" value="key1s value" />
<add key="addkey2" value="key2s value" />
</appsettings>
修改和删除节点或属性也非常方便:
//打开配置文件
configuration config = webconfigurationmanager.openwebconfiguration("~");
//获取appsettings节点
appsettingssection appsection = (appsettingssection)config.getsection("appsettings");
//删除appsettings节点中的元素
appsection.settings.remove("addkey1");
//修改appsettings节点中的元素
appsection.settings["addkey2"].value = "modify key2s value";
config.save();
配置文件:
<appsettings>
<add key="addkey2" value="modify key2s value" />
</appsettings>