How do I change configsource value in remote configuration file
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?
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
精彩评论