【发布时间】:2010-08-25 13:25:43
【问题描述】:
如何在 C# 中实现自动保存?我觉得保存到当前打开的文件很简单,但我可能不想覆盖我以前的文件(或者我应该这样做吗?我认为谷歌文档保存/覆盖文档但他们有版本控制?)。我想保存到另一个文件,但我要保存到哪里?
我想我也必须知道是否有任何自动保存文件要检索,并且在显式保存后,我应该删除与当前文档关联的自动保存文件
【问题讨论】:
如何在 C# 中实现自动保存?我觉得保存到当前打开的文件很简单,但我可能不想覆盖我以前的文件(或者我应该这样做吗?我认为谷歌文档保存/覆盖文档但他们有版本控制?)。我想保存到另一个文件,但我要保存到哪里?
我想我也必须知道是否有任何自动保存文件要检索,并且在显式保存后,我应该删除与当前文档关联的自动保存文件
【问题讨论】:
当前版本的 Microsoft Office(例如)保存到工作文件的“卷影副本”。根据您希望它的工作方式,您可以每隔 n 秒或在执行某些类型的操作时将写入应用到卷影副本。
当程序关闭时,原始文件被删除,卷影副本被重命名为原始文件。根据您的特定情况和要求,可以应用此技术中的许多选项和策略。
【讨论】:
您应该为自动保存创建一个临时文件。如果用户保存,您可以删除该文件,如果您的应用崩溃并重新启动,它可以从文件中加载上次自动保存的状态。
【讨论】: