在运行时从配置文件写入和读取更新的appSettings

时间:2018-07-24 12:49:00

标签: c# wpf config

问题:

我有一个程序,我在运行时在我的appconfig中编写Keys + Values,但是当我想读取它们时,我得到了旧值,而获取新值的唯一方法是重新启动应用程序。

一旦我以编程方式编写键+值,配置文件就会更新,所以这不是问题,但是我无法弄清楚为什么我在同一运行时无法获得新值。

我这样写: (尝试使用和不使用RefreshSection(key)-没什么区别)

public static void AddValue(string key, string value)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetEntryAssembly().Location);
    config.AppSettings.Settings.Add(key, value);
    config.Save(ConfigurationSaveMode.Full);
    ConfigurationManager.RefreshSection(key);
}

我这样读:

string[] ItemsArray = ConfigurationManager.AppSettings["Items"].Split(',');

问题:

如何读取(在运行时)在同一运行时添加的新密钥?

1 个答案:

答案 0 :(得分:0)

您应该尝试

ConfigurationManager.RefreshSection("appSettings");

在这里找到了一个旧帖子 Reloading configuration without restarting application using ConfigurationManager.RefreshSection