确保序列化对象总是使用最新的数据- c#

本文关键字:最新 数据 序列化 对象 确保 | 更新日期: 2023-09-27 18:07:33

我正在写一个在windows后台一直工作的程序,数据一直被收集,并保存在文件中的可序列化对象中。

当启动程序时,我从最后一次使用(可序列化对象)中获得所有已收集并保存在文件中的数据,并将其恢复到程序中。

我想确保所有的时间,如果用户关闭程序并重新启动它,所有最新的数据已被序列化并保存到文件中,没有数据丢失

我想重写方法-静态void OnProcessExit(对象发送者,EventArgs e),并在那里序列化对象,当用户关闭程序-但这种方式产生了一些问题…

你认为实现这个目标的最好方法是什么?

谢谢尤

确保序列化对象总是使用最新的数据- c#

如果您只依赖事件(鼠标移动,按下键,程序关闭)-这几乎是您所能做的全部。例如,如果电源关闭,你不能保证一切都会好起来。你的应用程序被强制关闭-你失去了内存中的所有内容。

另一种方法是,您可以隔一段时间(每隔几秒钟)序列化它一次。例如,在单独的线程中,这种方法只需要确保文件没有损坏。