与.NET序列化的版本兼容性?
用.NET序列化实现版本兼容性的方法有哪些?我只能以一种相当一般的方式回答 要控制二进制序列化中的版本差异,请阅读以下MSDN文章: 关于XML序列化,我没有一篇文章,但MSDN解释了如何使用XML属性来控制序列化,这也有助于解决版本问题:与.NET序列化的版本兼容性?,.net,serialization,.net,Serialization,用.NET序列化实现版本兼容性的方法有哪些?我只能以一种相当一般的方式回答 要控制二进制序列化中的版本差异,请阅读以下MSDN文章: 关于XML序列化,我没有一篇文章,但MSDN解释了如何使用XML属性来控制序列化,这也有助于解决版本问题: OnDeserializedAttribute也有助于手动处理版本控制,您可以在此处默认新值,这些值不是从反序列化流中设置的: 如果你是说使用BinaryFormatter(通常就是它的作用所在)——不要;它(IMO)不适用于存储—仅适用于传输(在这里
OnDeserializedAttribute
也有助于手动处理版本控制,您可以在此处默认新值,这些值不是从反序列化流中设置的:
如果你是说使用BinaryFormatter(通常就是它的作用所在)——不要;它(IMO)不适用于存储—仅适用于传输(在这里,版本控制问题要小得多,因为您可能控制管道的两端)。各种类型的许多其他序列化程序都可用;它们中的大多数都能很好地处理版本控制 我个人认为:
- xml:XmlSerializer(DataContractSerializer在输出方面没有那么灵活,但可以处理图形)
- json:JavaScriptSerializer
- 二进制:protobuf网络(我在这里有偏见)