健壮的.net序列化的最佳方法
本文关键字:最佳 方法 序列化 net | 更新日期: 2023-09-27 18:12:13
我想保存和恢复当前定义为POCO对象的一些设置,并希望保存/加载操作即使在正在保存的数据格式发生变化时也能工作,以便忽略未知数据并正确添加新数据
我可以使用哪个框架?我知道我不能使用XML序列化,因为它很脆弱,一旦在数据结构中看到不匹配的元素就会中断。我可以用什么来代替,"刚刚好"?
虽然它是XML并且它可能无法处理所有更改,但DataContractSeralizer可以处理添加/删除属性。它还具有处理未知数据的回调。
http://msdn.microsoft.com/en-us/library/ms731138.aspx您可能想尝试JSON
序列化,它可能会做您需要的。
当你说"脆弱"时,你的意思可能是"不向后兼容"或"我更改了合约,它不能处理我的更改"。
它真的不"脆弱"。它更像是"当你改变一些东西时,它不包含人工智能来知道你想要什么"。
因此,最好的办法是通过您自己的自定义序列化机制来处理它。因为你会在这里输入"如果这个不再存在怎么办,但我不在乎"的逻辑。没有"只是工作"的解决方案,恕我直言。因为一个人的"无论什么版本都必须存在"是另一个人的"我可以在这个新版本中跳过这条信息"