保存对自定义部分的configSource属性中指定的外部配置文件的更改

时间:2011-05-13 00:58:03

标签: c# .net app-config

我已在App.config文件中定义了自定义部分,并且已在configSource文件中指定的外部配置文件中定义了customSection的所有配置属性。

现在,情况是每当我运行程序时,我都会修改外部配置文件中存在的属性的值,我需要一种方法将这些值保存在外部配置文件中。

如何保存这些值?使用正常的方式写入文件是唯一的选择吗?

请考虑以下场景,了解我想在应用程序中执行的操作:

App.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="example" type="CustomConfig.ExampleSection, 
                                 CustomConfig"  />
  </configSections>

  <example
   configSource="example.config"
  />

  <appSettings>
    <add key="version_string" value="1.01" />
  </appSettings>
</configuration>

example.config

<?xml version="1.0"?>
<example version="A sample string value."/>

假设在程序执行期间版本的值更改为“Foo”。如何永久保存example.config文件中的值,以便当我退出应用程序并重新加载它时,版本的值将为Foo。

1 个答案:

答案 0 :(得分:0)

你可以这样做。 Configuration c = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); c.AppSettings.Settings["Your config"].Value=....; c.Save(ConfigurationSaveMode.Modified);