什么是与.NET序列化实现版本兼容性的方法?与.NET序列化的版本兼容性?
5
A
回答
0
我只能用相当一般的方式回答。
对于二进制序列化控制版本差异过大,请阅读下面的MSDN文章:
http://msdn.microsoft.com/en-us/library/ms229752(v=vs.80).aspx
对于XML序列化我没有一篇文章,但MSDN进入解释的XML属性来使用控制序列化,这些也有助于应付版本问题:
http://msdn.microsoft.com/en-us/library/83y7df3e(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/2baksw0z(v=VS.85).aspx
的OnDeserializedAttribute
也有利于与手动版本应付,你可以在这里默认新值是否是从反序列化流设置:
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.ondeserializedattribute.aspx
1
如果你的意思的BinaryFormatter(通常是哪里这踢) - 不要; (IMO)不适合存储 - 仅适用于传输(在这里版本控制更不用说,因为你可能控制管道的两端)。许多其他各种串行器都可用;他们大多数应付就好了与版本控制。
就个人而言,我会去:
- XML:XmlSerializer的(DataContractSerializer的是不是在输出灵活,但可以处理图形)
- JSON:JavaScriptSerializer
- 二进制:protobuf网(我在这里优先)
与任何这些,你应该版本之间的罚款,添加成员,重命名字段等
其实,我会用上面的3 ,即使我只是在运输(不存储)。
相关问题
- 1. .NET版本兼容性问题
- 2. .NET框架和版本兼容性
- 3. 版本兼容性
- 4. Powershell版本兼容.net
- 5. 主动模型序列化不能与api版本兼容
- 6. .NET与MySql.Data的兼容性
- 7. 与Spark的Hive版本兼容性
- 8. 与各种PDF版本的兼容性
- 9. Ios6与早期版本的兼容性
- 10. PhantomJS版本与硒的兼容性
- 11. Websphere MQ客户端版本9.0与.NET框架的兼容性
- 12. 应用程序的版本兼容性
- 13. Rails兼容.NET xml序列化
- 14. 列表 - .NET兼容性?
- 15. Infragistics版本2010兼容性
- 16. SSL/TLS版本兼容性?
- 17. JRuby Java版本兼容性
- 18. 安卓版本兼容性
- 19. huey django版本兼容性
- 20. Microsoft SQL版本兼容性
- 21. 版本兼容性问题?
- 22. g ++版本兼容性
- 23. Lucene - Solr版本兼容性
- 24. ServiceStack版本兼容性
- 25. Dojo版本兼容性
- 26. Silverlight 3版本兼容性
- 27. JRE/Windows版本兼容性
- 28. C#版本兼容性
- 29. cassandra版本与3.7兼容?
- 30. 反序列化向后兼容性