通过代码修改配置文件要强行刷新,否则系统不知道配置文件已经修改过了。
上代码:
void save(int offset)
{
string key = "OffsetDays";
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (ConfigurationManager.AppSettings[key] != null)
{
if(!int.TryParse(cfa.AppSettings.Settings[key].Value,out int i)
|| i != offset)
{
cfa.AppSettings.Settings[key].Value = offset.ToString();
ConfigurationManager.RefreshSection("appSettings");//<---------------------------
}
}
else
{
cfa.AppSettings.Settings.Add(key, offset.ToString());
ConfigurationManager.RefreshSection("appSettings");
}
cfa.Save();
}