我正在使用 C# .Net 开发一个 Windows 应用程序。这实际上是一个安装在 DBMS 中的插件。这个插件的目的是读取 DBMS 中的所有记录(记录是一个对象),匹配提供的条件并将它们作为 XML 文件传输到我的本地文件系统。我的问题与内存的使用有关。一切正常。但是,每次我读取一条记录时,它都会占用内存,并且在一定限制后,由于内存不足,插件停止工作。
我正在处理大约 10k-20k 的记录(对象)。C# 中是否有任何与内存相关的方法可以在将每条记录写入 XML 文件后立即清除它们的内存。我尝试了所有基本的内存处理方法,如 clear()、flush()、gc() 和 finalize()/ 但没有用。
请考虑他:
- Record 是一个对象,我无法更改它并使用其他有效的数据结构。
- 每次我读取记录时,我都会将它们写入 XML。并一次又一次地重复。