Как изменить значение конфигурации в файле удаленной конфигурации
Я использую 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);
Работает отлично