Как изменить значение конфигурации в файле удаленной конфигурации - PullRequest
2 голосов
/ 06 мая 2011

Я использую ConfigurationManager.OpenMappedExeConfiguration для чтения и изменения файлов web.config удаленных веб-служб. Это работает хорошо по большей части. Файл конфигурации разделяет раздел конфигурации Unity с помощью

    <unity configSource="Unity1.config"/>

Как я могу изменить это, чтобы указать на Unity2.config? Я пытался

    Config.Sections["unity"].SectionInformation.ConfigSource = "Unity2.config"

Это обновляет файл web.config. Однако это также приводит к тому, что Unity2.config перезаписывается содержимым Unity1.config, а это не то, что мне нужно.

Кроме того, есть ли способ обновить открытый таким образом объект конфигурации?

1 Ответ

0 голосов
/ 30 декабря 2016
var config = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
var section = config.GetSection(UnityConfigurationSection.SectionName) as UnityConfigurationSection;
if (section == null)
{
     section = new UnityConfigurationSection();
     config.Sections.Add(UnityConfigurationSection.SectionName, section);
}

section.SectionInformation.ConfigSource = "unity.config";
config.Save(ConfigurationSaveMode.Full);

Работает нормально

...