确保Serializable对象始终使用最新数据 - c#

时间:2016-09-18 20:08:28

标签: c# serialization

我正在编写一个在Windows背景中一直有效的程序, 数据一直被收集并保存在文件中的可序列化对象中。

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

我想确保用户一直关闭程序并重新启动它,所有最新数据都可以序列化并保存到文件中,没有数据丢失

我想过覆盖方法 - 静态void OnProcessExit(对象发送者,EventArgs e)以及当用户关闭程序时序列化对象 - 但这种方式出现了一些问题......

您认为实现这一目标的最佳方式是什么?

谢谢 尤瓦

1 个答案:

答案 0 :(得分:0)

如果你只依赖于事件(鼠标移动,按下按键,程序关闭) - 这就是你所能做的一切。例如,如果电源关闭,您无法保证一切正常。你的应用程序强行关闭 - 你失去了记忆中的一切。

其他方面,您可以偶尔(每隔几秒)将其序列化一次。例如,在单独的线程中,您只需要确保文件没有损坏。