修改自定义配置文件中的appSettings,该文件通过';文件';属性

本文关键字:文件 属性 配置文件 自定义 appSettings 修改 | 更新日期: 2023-09-27 18:22:11

在Web.config的appSettings部分中,file属性用于引用自定义配置文件。目标是在不重新启动应用程序的情况下,可以修改自定义配置中的一些应用程序设置。

Web.config

<appSettings file="CustomAppSettings.config">
    <add key="key1" value="val2" />
</appSettings>

CustomAppSettings.config

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
    <add key="customKey1" value="custVal2"/>
</appSettings>

以下代码不起作用。它将值保存到Web.config,但预期将其保存到CustomAppSettings.config中,因为这样它就不会重新启动应用程序(Source)。

var configuration = WebConfigurationManager.OpenWebConfiguration("~/");
configuration.AppSettings.Settings[key].Value = value.ToString();
configuration.Save();

这不起作用。

var configuration = WebConfigurationManager.OpenWebConfiguration("~/CustomAppSettings.config");

我做错了什么?有人能给我指正确的方向吗?

修改自定义配置文件中的appSettings,该文件通过';文件';属性

使用configSource而不是文件

<appSettings configSource="CustomAppSettings.config" />

使用配置保存模式。保存时最小

var configuration = WebConfigurationManager.OpenWebConfiguration("~/");
configuration.AppSettings.Settings[key].Value = value.ToString();
configuration.Save(ConfigurationSaveMode.Minimal);