在学习.net 2.0 Configuration时,遇到了一点小麻烦,在Save Configuration时,总是提示【该配置是只读的】。
经过一番调试,发现自己的代码写的有问题,总结如下:
错误的代码:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MySettings settings = ConfigurationManager.GetSection("mySection") as MySettings;
settings.MaxValue = 100;
config.Save();
正确的代码:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MySettings settings = config.GetSection("mySection") as MySettings;
settings.MaxValue = 100;
config.Save();
不经意间,使用了ConfigurationManager.GetSection方法获取配置的信息,虽然可以正确的读取配置的内容,但这个配置信息表现为只读特性。需要使用Configuration的实例,才能正确的写入配置的信息。