.net 序列化的注意事项

1. 事件的序列化
 序列化可以对属性增加[NonSerialized]不进行序列化,但事件无法标记,此时需要将事件转为filed类型,标记变为:
 [field:NonSerialized]

2. 不同版本的序列化兼容问题
SerializationException: ObjectManager 发现链接地址信息的数目无效。这通常表示格式化程序
在对Error集合的序列化对象进行反序列化时,软件报错误“ObjectManager 发现链接地址信息的数目无效。这通常表示格式化程序”。
对比旧版本序列化部分完全一致,经过分析发现,对象所在类的命名控件被修改,致使该错误发生。经过还原原有命名空间,该错误解决。

3. Serialization:对象图不能为 null。 参数名: graph
在打开某已序列化的文件,之后对齐属性修改,之后序列化保存时报错。
由于该类之前有做修改,而反序列化旧版本的文件会自动填充null至于新属性,所以反序列化正常。
而再次序列化时,默认产生的空值将无法被序列化。
具体案例:
假设class a {string name;},序列化得到 sa文件。之后我改了class a{string name; string age;}。之后通过新的class a 反序列化sa 得到 aentity。这个时候我再次序列化aentity 此时,age为null。

转载于:https://www.cnblogs.com/sunlyk/p/7427446.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值