我正在寫一個Windows服務應用程序,需要在其執行過程中反覆序列化和反序列化XML文檔。由於我需要序列化和反序列化在編譯期間未知的泛型類型(我不知道有多少類型需要序列化/反序列化)我想知道是否一個好主意請保留一個高速緩存DataContractSerializer對象的實例化用於序列化和反序列化對象。緩存DataContractSerializer實例是個好主意嗎?
我在問這個問題,因爲我知道緩存XmlSerializer類實例是個好主意,因爲他們在內存中創建一個動態程序集,並且內存中動態創建的程序集不會被垃圾收集。
我讀到DataContractSerializer依賴於輕量級的代碼生成,但我並不熟悉它的細節。這就是爲什麼我問這個問題,我需要了解,如果我需要實例化DataContractSerializer實例,它會導致我的內存泄漏,因爲XmlSerializer會?
我選擇使用DataContractSerializer而不是XmlSerializer來序列化內部屬性。
(回覆評論) – 2009-07-18 20:37:56