版本控制一个protobuf-net序列化的c#对象

本文关键字:序列化 对象 protobuf-net 一个 版本控制 | 更新日期: 2023-09-27 18:08:15

我已经用protobuf-net序列化了一个c#类。生成的字节数组存储在数据库中。这是出于性能原因,我可能无法更改此设计。c#语言无法阻止类被修改,并且随着时间的推移,为反序列化而传入的类结构可能需要进行与序列化所使用的不匹配的更改,从而导致检索失败。

除了这里建议的包装器技术之外,是否有处理这类问题的模式或技术?

版本控制一个protobuf-net序列化的c#对象

我想到的唯一一种技术是对需要反序列化的类进行版本化,以便在需要进行某些更改时不会丢失任何内容。当你序列化这些类的实例时,你也必须序列化类的版本(它可能是类本身的一个字段)。

我不认为这是最好的解决方案,但一个解决方案。当变更(和版本)开始增长时,版本控制策略可能变得非常难以管理。