Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
config.SectionGroups.Add("testing", new ConfigurationSectionGroup());
ConfigurationSectionGroup testing = config.SectionGroups["testing"];
testing.Sections.Add("subsec", new AppSettingsSection() {File="tst.config" });
KeyValueConfigurationCollection settings = ((AppSettingsSection)testing.Sections["subsec"]).Settings;
settings.Add("tst", "ok");
config.Save();
结果是:
<sectionGroup name="testing" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" >
<section name="subsec" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</sectionGroup>
<testing>
<subsec file="tst.config">
<add key="tst" value="ok" /> //this should not be here but must be added to the tst.config file
</subsec>
</testing>
为什么不将设置添加到文件中?
最佳答案
您应该能够以编程方式设置配置源(而不是文件
),如下所示:
ConfigurationSection subsec = config.GetSection("testing/subsec");
subsec.SectionInformation.ConfigSource = "tst.config";
关于c# - 尽管定义了文件属性,但键值对已添加到 web.config 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24341050/