C# 如何持久化系列对象以支持日志功能?

C# 如何持久化系列对象以支持日志功能?,c#,persistence,C#,Persistence,我相信这确实很简单,但我通常会遇到数据持久化的黑点。我想为我的应用程序创建一种形式的“自动历史记录”。该应用程序具有常见的撤销/重做功能,该功能位于内存中,仅在给定会话中有效。该想法基于VS2013的新功能 每次用户进行更改时,我都希望保存对象的时间戳副本以及一些管理数据,以便以后可以恢复。到目前为止,我考虑过: 只是在内存中使用一个列表。但这将无法在会话中生存,因此需要在开始时加载,并在结束时保存。我认为它会随着时间的推移变得越来越大,成为一个记忆猪 基于磁盘的数据结构,如或 某种对象数据库

我相信这确实很简单,但我通常会遇到数据持久化的黑点。我想为我的应用程序创建一种形式的“自动历史记录”。该应用程序具有常见的撤销/重做功能,该功能位于内存中,仅在给定会话中有效。该想法基于VS2013的新功能

每次用户进行更改时,我都希望保存对象的时间戳副本以及一些管理数据,以便以后可以恢复。到目前为止,我考虑过:

  • 只是在内存中使用一个列表。但这将无法在会话中生存,因此需要在开始时加载,并在结束时保存。我认为它会随着时间的推移变得越来越大,成为一个记忆猪
  • 基于磁盘的数据结构,如或
  • 某种对象数据库,比如
但我暗自怀疑我把事情弄得太复杂了。我正在使用Protobuf NET序列化我的对象,尽管我不确定这是否与问题有关。所以我的问题是,保存历史对象的最佳方式是什么,以便以后可以在自动历史功能中使用它们


提前谢谢

我想这需要关闭了。经过更多的研究,我发现

对于像我这样的mutt来说,这非常简单,它为一组对象提供了持久性,这些对象都继承自相同的基类,但在细节上有所不同。我已经找到了更多的应用程序