Как изменить значение конфигурации в файле удаленной конфигурации

Я использую 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 ответ

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);

Работает отлично

Другие вопросы по тегам