Sto scrivendo un'applicazione di servizio Windows che ha bisogno di serializzare e deserializzare ripetutamente i documenti XML durante la sua esecuzione. Dato che ho bisogno di serializzare e deserializzare tipi generici che non sono noti durante il tempo di compilazione (non so a priori quanti tipi ho bisogno di serializzare/deserializzare) vorrei sapere se è una buona idea tenere una cache di oggetti DataContractSerializer Istanziato per serializzare e deserializzare gli oggetti.È consigliabile memorizzare le istanze di DataContractSerializer?
Sto facendo questa domanda perché so che è una buona idea memorizzare nella cache le istanze della classe XmlSerializer poiché creano un assembly dinamico in memoria sotto il cofano e gli assembly creati dinamicamente in memoria non sono garbage collection.
Ho letto che DataContractSerializer si basa sulla generazione di codice leggero, ma non sono abituale con i dettagli di esso. Ecco perché sto facendo questa domanda, ho bisogno di capire se istanzio le istanze di DataContractSerializer come necessario mi porterebbe a una perdita di memoria come sarebbe XmlSerializer?
Ho scelto di utilizzare DataContractSerializer invece di XmlSerializer per poter serializzare le proprietà interne.
(risposto al commento) –