2

I'm using ConfigurationManager.OpenMappedExeConfiguration to read and modify web.config files of remote web services. This works well for the most part. The config file splits out the unity configuration section using

    <unity configSource="Unity1.config"/>

How can I change this to point at Unity2.config? I tried

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

This does update the web.config file. However, it also causes Unity2.config to be overwritten with the contents of Unity1.config, which is not what I want.

Also, is there a way to refresh a Configuration object opened in this way?

Rob
  • 4,327
  • 6
  • 29
  • 55

1 Answers1

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

Works fine