C# 单例如何防止序列化

有网友碰到过这样的问题:C# 单例如何防止序列化,问题详细内容为:

如题 java  通过readResolve来防止反序列化后的对象不是同一个.C#呢?

,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:

网友提供的解决方案1:

将构造函数设置为private不就没法序列化与反序列化了吗?收获园豆:5

============================================

额,是说在某种情景下需要对单例序列化与反序列化。但是不能破坏单例的结构~可能我描述的不清楚http://www.cnblogs.com/rjzheng/p/8946889.html我是看了这个博客后 用C#写不出来才问的..站长大大可以看一下 

============================================

@dlrowolleh:  单例中如果缓存了操作、数据之类的不能直接序列化,可以在单例上提供类似导出导入功能来处理,但是有数据丢失风险 我真不知道为啥要这么干

java中的单例模式,通过反序列化,可以生成2个?

答:单例存在两个问题: ①实现Cloneable接口,调用clone()方法,复制一个对象副本 ②就是你说你的反序列化,也可以生成副本 解决:在实现序列化的类里添加方法 private Object readResolve() throws ObjectStreamException{ return INSTANCE;//返回该...

java中的单例模式,通过反序列化,可以生成2个?

解决:在实现序列化的类里添加方法 private Object readResolve() throws ObjectStreamException{ return INSTANCE;//返回该类的单例对象 } 这样当JVM从内存中反序列化地...

请注意,本站信息均收集自互联网,相关信息仅供参考,医疗等重要信息请以正规途径为最终意见,本站不承担任何责任!