在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");
我做错了什么?有人能指出我正确的方向吗?
答案 0 :(得分:1)
使用 configSource 代替文件。
<appSettings configSource="CustomAppSettings.config" />
在保存时使用 ConfigurationSaveMode.Minimal 。
var configuration = WebConfigurationManager.OpenWebConfiguration("~/");
configuration.AppSettings.Settings[key].Value = value.ToString();
configuration.Save(ConfigurationSaveMode.Minimal);