我需要在我的 app.config 中的一个自定义配置部分中更新一个值。有没有一个很好的例子来说明如何做到这一点?
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
我想以编程方式将 444 更新为 555。
我需要在我的 app.config 中的一个自定义配置部分中更新一个值。有没有一个很好的例子来说明如何做到这一点?
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
我想以编程方式将 444 更新为 555。
假设您的配置存储在 application.exe.config 中,以下应该可以工作。
void ModifyLevel1Value(int newValue)
{
Configuration exeConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MySection section = (MySection)exeConfiguration.GetSection("mySection");
// Modify value, or whatever is sensible in your program
section.LevelsCollection["data1"] = newValue;
exeConfiguration.Save();
}
我不确定这是否适用于 web.config,因为我对 Web 应用程序及其配置几乎没有经验。
此技术将重写配置文件,但不会刷新任何内部配置文件缓存。要强制重新加载配置文件(这在您的应用程序中可能不是问题),您可以调用以下静态方法。
ConfigurationManager.RefreshSection(section);
您可以使用linq to xml来查找要更改的元素,您应该获取一个XElement对象,根据需要进行更改,然后保存。