如何更改远程配置文件中的configsource值

时间:2011-05-06 09:02:40

标签: c# system.configuration configsource

我正在使用ConfigurationManager.OpenMappedExeConfiguration来读取和修改远程Web服务的web.config文件。这在大多数情况下效果很好。 配置文件使用

拆分统一配置部分
    <unity configSource="Unity1.config"/>

如何将其更改为指向Unity2.config? 我试过了

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

这会更新web.config文件。但是,它也会导致Unity2.config被Unity1.config的内容覆盖,这不是我想要的。

另外,有没有办法刷新以这种方式打开的Configuration对象?

1 个答案:

答案 0 :(得分: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);

工作正常