私は、XML文書を実行中に繰り返して直列化および逆直列化する必要があるWindowsサービスアプリケーションを作成しています。私はシリアル化し、コンパイル時に知られていないジェネリック型を逆シリアル化する必要がある(私は先験的にどのような多くの種類のシリアル化/デシリアライズする必要があるか分からない)私はそれが良い考えであるかどうかを知っていると思いますDataContractSerializerオブジェクトの直列化と逆シリアル化のためにインスタンス化します。DataContractSerializerインスタンスをキャッシュすることをお勧めしますか?
XmlSerializerクラスのインスタンスをメモリ内に作成し、メモリ内に動的に作成されたアセンブリがガベージコレクションされないため、このインスタンスをキャッシュすることをお勧めします。
私は、DataContractSerializerは軽量コード生成に依存していると読んでいますが、私はその詳細についていつもよくありません。これが私がこの質問をしている理由です。必要に応じてDataContractSerializerインスタンスをインスタンス化すると、XmlSerializerのようにメモリリークが発生しますか?
内部プロパティをシリアル化できるように、XmlSerializerの代わりにDataContractSerializerを使用することを選択しました。
(コメントに返信しました) –