これは本当にクレイジーなバグです。以下は、OutOfMemoryException
非常に短く単純な XML スニピットに対して , をスローしています (例<ABC def='123'/>
: ):
public static T DeserializeXmlNode<T>(XmlNode node)
{
try
{
return (T)new XmlSerializer(typeof(T))
.Deserialize(new XmlNodeReader(node));
}
catch (Exception ex)
{
throw; // just for catching a breakpoint.
}
}
この MSDN の記事で、コンストラクターで追加のパラメーターを指定して XmlSerializer を使用していた場合、呼び出されるたびにキャッシュされていないシリアライザー アセンブリが生成され、Assembly Leakが発生することを読みました。しかし、コンストラクターで追加のパラメーターを使用していません。また、新しく開始された AppDomain で初めて呼び出されたときにも発生するため、意味がありません。
何を与える?