在AppSettings的需求变化重新启动我的应用程序如何避免?(Change in AppSett

2019-07-31 20:08发布

我使用C#.NET 2.0的Windows应用程序。

和我使用的app.config为我的应用程序设置。

但在AppSettings的变化并不反映运行时,它需要申请重新启动。

我怎样才能避免它。

这里是我的代码片段我用来读取和写入的应用程序设置。

我读这样的设置

string temp = ConfigurationManager.AppSettings.Get(key);

我更新这样的值,其中节点是当前配置/节点的appSettings

node.Attributes["value"].Value = value;
xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

Answer 1:

你可以尝试调用

 ConfigurationManager.RefreshSection("appSettings") 
刷新从磁盘上的文件的appSettings部分。 一旦他们被刷新,你应该能够读取新的值。

我刚刚测试了这一点,它确实工作。



Answer 2:

或者,你可以创建一个单独的“选项”来保存到您的应用程序设置和执行你读你/写。 加载后,改变的.config不需要重装,你只需设置的单属性,并打电话给你.Save()方法。

你的设置中的“运行”版本是单身,没有必要从磁盘中读取。



Answer 3:

不使用ConfigurationManager中读取设置,而是使用:

        System.Configuration.ConfigurationManager.OpenExeConfiguration(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile).AppSettings.Settings["value"];


Answer 4:

ConfigurationManager.RefreshSection("appSettings");

作品!!

但要小心,如果我们在调试模式下,配置文件可以被称为xxxxx.vshost.exe.config,其中xxxxx是您的项目名称。



文章来源: Change in AppSettings needs restart my Application how can I avoid?