【发布时间】:2011-07-06 17:24:09
【问题描述】:
我有一个简单的控制台应用程序,它每天运行(由 Windows 任务调度程序调用)并且取决于每次应用程序运行时递增的值。为了保持这个值,我选择使用 Settings.Settings 文件。
所以我有一个名为 RunNumber 的整数值,其范围为用户,每次应用程序完成运行时都会递增:
Properties.Settings.Default.RunNumber++;
Properties.Settings.Default.Save();
我选择这个的部分原因是该值也放入了 app.config 文件中:
<setting name="RunNumber" serializeAs="String">
<value>0</value>
</setting>
这意味着如果 RunNumber 必须意外增加,它可以在 app.config 中更改:
<setting name="RunNumber" serializeAs="String">
<value>10</value>
</setting>
我的期望是下次我的应用程序读取 RunNumber 的值时,它将采用 app.config 中设置的值(在本例中为 10)。这不会发生,而是下次运行应用程序时,它将使用上次修改的值,在这种情况下,运行编号将是 1 而不是我期望的 10。
我的应用程序像这样访问 RunNumber 的值:
Properties.Settings.Default.RunNumber
如何在不修改应用程序的情况下更改 RunNumber 的值?这个想法是,如果它需要意外更改为一个值,我可以只修改 app.config 中的值,而不必更改一些代码并重新部署应用程序。
【问题讨论】: