我有一个使用其用户设置的.Net应用程序。保存这些设置的最佳时间是什么?
要清楚,我正在调用此函数来保存:
Storage.Properties.Settings.Default.Save()
首先,我想把它们保存在每一个变化上,但这很慢,而且似乎没有必要。文档表明,只有在应用程序关闭时才需要保存它们,在它们的示例中,当表单关闭时。
但是,如果有两个应用程序实例正在运行怎么办?看来,如果我等到Application_Exit事件,设置将不会在实例之间持续存在。应用程序的新实例将读取旧用户设置,从而导致错误。
那么,最佳做法是什么?
答案 0 :(得分:4)
答案是针对特定应用的,因此没有最佳实践。例如,有些应用甚至不允许多个实例。
但大多数应用程序倾向于执行以下任一操作:
退出时保存的问题是当您遇到导致未处理异常的错误时,您的更改可能会丢失。如果您的应用程序应该在后台运行,这可能会比您想象的更频繁地发生,特别是在它仍处于开发/测试阶段时。
我用几年前写的玩具系统托盘式应用程序采用了“退出保存”策略,后悔了。显式保存和/或间隔保存可能是一个更好的选择。