我已搜查甚廣,並沒有能夠找到一個解決我的問題。XML序列化,它處理如何寫出一個文件
我有一個典型的情況,其中的過程是逐步蠶食內存。該進程最終拋出OutofMemory異常。過去只是建立一個具有更大內存的特殊機器來解決這個問題。
這個過程只對我們的客戶有炸彈,這個客戶有大約450,000條記錄。我們迭代帳戶的集合並構建一個類對象,然後將其傳遞給xml序列化程序。這個對象有幾個屬性和方法不會同時被填充。這些對象根據每個帳戶記錄中的信息填充。
我已經檢查過我們爲XML序列化程序調用構造函數的方式,它的格式是存儲xml程序集並且不會每次都創建新程序集。所以,我不相信由於創建動態程序集而導致內存泄漏。
我們怎麼叫串行:昏暗k1Serializer作爲新的XmlSerializer(的GetType(ClassObject))
我的問題是:
當序列化大對象,確實串行看看每一個可能的序列化對象或只是那些由你的對象填充的那些?
這個大類對象的序列化是否會導致問題?
我注意到當我們傳入序列化對象時,它不會自動寫出到指定的文件中。我猜想,需要幾秒鐘,序列化對象,然後寫出來。實際上,我們正在迭代這麼多記錄,這麼快,序列化程序沒有足夠的時間寫出文件並釋放內存?
我真的在我的智慧結束,任何幫助將不勝感激。請讓我知道是否需要其他信息。
感謝
可以顯示更多的實際的代碼,說明你如何調用序列化,和你有什麼序列化到* *。 – Cheeso 2011-04-21 20:34:43