gpt4 book ai didi

.net - .Net 3.5 中的 XML 序列化是否仍然存在已知的内存泄漏?

转载 作者:行者123 更新时间:2023-12-04 16:57:16 24 4
gpt4 key购买 nike

本文http://blogs.msdn.com/tess/archive/2006/02/15/532804.aspx作者 Tess Ferrandez 概述了为什么使用 XMLSerialization 会导致内存泄漏。

泄漏是由于对象在内存中作为程序集实例化的结果,而不是对象,因此不是垃圾收集器的目标。

文章最初是在 1.0/1.1 CLR 上写的,但是关于 2.0 CLR 的更新不清楚。

我在仍处于测试阶段的 Web 应用程序中广泛使用 XMLSerialization/Deserialization,用于 UI/服务器交换。对象只是 DTO(只有属性的对象)。

先感谢您!

最佳答案

真正导致泄漏的部分是 XML 引擎为序列化目的生成的程序集从未被收集。从 CLR 2.0SP1 (.Net 3.5) 开始,情况仍然如此。一旦程序集被加载到进程中,在包含该程序集的 AppDomain 也被卸载之前,它不会被删除。

不过,如果您注意到文章的底部,她提到了一种让 XML 引擎重用程序集的方法,这样内存就不会失控。

关于.net - .Net 3.5 中的 XML 序列化是否仍然存在已知的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/469098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com