如何持久保存系列对象以支持日志记录功能?

时间:2014-05-15 14:33:01

标签: c# persistence

我确信这很简单但我通常会在持续数据的情况下出现黑点。我想创建一种“自动历史记录”形式。为我的申请。该应用程序具有通常的撤消/重做功能,该功能位于内存中,仅适用于给定的会话。该想法基于VS2013的新auto history功能

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

  • 只需在内存中使用列表。但这不会在会话中存活,因此需要在开始时加载并在结束时保存。我认为它会随着时间的推移变得越来越大,变成记忆力
  • 基于磁盘的数据结构,例如bPlusDotNetManaged ESENT
  • 某种对象数据库,如VelocityDB

但我有一种偷偷摸摸的怀疑,认为我太复杂了。我使用Protobuf NET来序列化我的对象,虽然我不确定这是否与问题相关。所以我的问题是,保留历史对象的最佳方法是什么,以便以后可以在自动历史记录功能中使用它们?

提前致谢

1 个答案:

答案 0 :(得分:0)

我认为这需要关闭。经过更多研究后,我发现NDatabase

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