保存用户设置的最佳时间

本文关键字:最佳 时间 设置 用户 保存 | 更新日期: 2023-09-27 17:59:39

我有一个使用其用户设置的.Net应用程序。保存这些设置的最佳时间是什么?

为了清楚起见,我调用这个函数是为了保存:

Storage.Properties.Settings.Default.Save()

首先,我想在每次更改时都保存它们,但这很慢,似乎没有必要。文档表明,它们只需要在应用程序关闭时保存,在他们的示例中,是在表单关闭时保存。

但是,如果有两个应用程序实例在运行呢?似乎如果我等到Application_Exit事件,设置将不会在实例之间持续存在。应用程序的新实例将读取旧的用户设置,从而导致错误。

那么,最好的做法是什么呢?

保存用户设置的最佳时间

答案是特定于应用程序的,因此没有最佳实践。例如,有些应用程序甚至不允许使用多个实例。

但大多数应用程序倾向于做以下事情之一:

  • 它们不经常更改设置,所以一次保存一整套更改(例如,在配置对话框中应用更改时)
  • 它们经常在后台更改,因此设置某种计时器事件以在特定时间间隔保存
  • 它们经常发生变化,但变化很明显,因此有一些"保存更改"按钮供用户单击

退出时保存的问题是,当您遇到导致未处理异常的错误时,您的更改可能会丢失。如果你的应用程序应该在后台运行,这种情况可能比你想象的更频繁,尤其是在它仍在开发/测试中的时候。

我在几年前写的一个玩具系统托盘式应用程序中采用了"退出时保存"策略,对此我感到后悔。明确保存和/或间隔保存会是一个更好的选择。