这是我的代码:
public void VerifyIfFirstTimeRun()
{
if (System.Configuration.ConfigurationSettings.AppSettings["FirstTimeRunning"] == "true")
{
//Do bla bla bla
//Then do bla bla bla
System.Configuration.ConfigurationSettings.AppSettings["FirstTimeRunning"] = "false";
}
}
问题是,我正在使用F5键测试它,它启动并确定使用断点显示它确实进入If条件,但是当我“停止”应用程序并再次按F5时它会启动在If Condition AGAIN中。这是标准的操作程序吗?
如果是这样,我该如何测试它是否有效?
答案 0 :(得分:4)
我不确定你应该期望这样来保存;但是,您可以在用户的上下文中设置一个设置文件(在这种情况下为bool
),该文件通过{{1}保存(当您要求时) }。
答案 1 :(得分:4)
这违背了App.config文件用于的精神......但要回答你的问题,你需要做System.Configuration.Configuration.Save()。
编辑:
App.config通常用于配置数据库连接,提供程序等。通常在安装时设置一次。建议用户设置进入单独的配置文件user.config。有关说明,请参阅this。
编辑:
System.Configuration.Configuration上课。
注意 - 现在我已经阅读了您使用这些设置的原因,我可以提出另一种方法吗?您应该只检查文件是否存在:
if (!File.Exists("thefilepath"))
{
AlertUserOfMissingFile();
ChooseNewFile();
}
无论如何,这样更安全,因为将设置设置为true并不一定意味着文件就在您认为的位置。
答案 2 :(得分:1)
我不建议您为此目的使用App.settings。 看看这篇文章 Settings in C#
如果要在应用程序会话之间保留对用户设置的更改,请调用Save方法,如以下代码所示:
Properties.Settings.Default.Save();