Сохранение изменений во внешний файл конфигурации, указанный в атрибуте configSource пользовательского раздела - PullRequest
1 голос
/ 13 мая 2011

Я определил пользовательский раздел в файле App.config, и все свойства конфигурации, присутствующие для customSection, были определены во внешнем файле конфигурации, указанном в файле configSource.

Теперь сценарии состоят в том, что всякий раз, когда я запускаю программу, я изменяю значения свойств, присутствующих во внешнем файле конфигурации, и мне нужен способ сохранить эти значения во внешнем файле конфигурации.

Как можно сохранить эти значения? Является ли использование обычных способов записи в файл единственным вариантом?

Рассмотрим следующий сценарий относительно того, что я хочу сделать в приложении:

Файл 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 голосов
/ 13 мая 2011

Вы можете сделать это так.Configuration c = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); c.AppSettings.Settings["Your config"].Value=....; c.Save(ConfigurationSaveMode.Modified);

...