我已搜查甚广,并没有能够找到一个解决我的问题。XML序列化,它处理如何写出一个文件
我有一个典型的情况,其中的过程是逐步蚕食内存。该进程最终抛出OutofMemory异常。过去只是建立一个具有更大内存的特殊机器来解决这个问题。
这个过程只对我们的客户有炸弹,这个客户有大约450,000条记录。我们迭代帐户的集合并构建一个类对象,然后将其传递给xml序列化程序。这个对象有几个属性和方法不会同时被填充。这些对象根据每个帐户记录中的信息填充。
我已经检查过我们为XML序列化程序调用构造函数的方式,它的格式是存储xml程序集并且不会每次都创建新程序集。所以,我不相信由于创建动态程序集而导致内存泄漏。
我们怎么叫串行:昏暗k1Serializer作为新的XmlSerializer(的GetType(ClassObject))
我的问题是:
当序列化大对象,确实串行看看每一个可能的序列化对象或只是那些由你的对象填充的那些?
这个大类对象的序列化是否会导致问题?
我注意到当我们传入序列化对象时,它不会自动写出到指定的文件中。我猜想,需要几秒钟,序列化对象,然后写出来。实际上,我们正在迭代这么多记录,这么快,序列化程序没有足够的时间写出文件并释放内存?
我真的在我的智慧结束,任何帮助将不胜感激。请让我知道是否需要其他信息。
感谢
可以显示更多的实际的代码,说明你如何调用序列化,和你有什么序列化到* *。 – Cheeso 2011-04-21 20:34:43