问题:
我有一个程序,我在运行时在我的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(',');
问题:
如何读取(在运行时)在同一运行时添加的新密钥?
答案 0 :(得分:0)
您应该尝试
ConfigurationManager.RefreshSection("appSettings");
在这里找到了一个旧帖子 Reloading configuration without restarting application using ConfigurationManager.RefreshSection