How to create giant memory leaks with XmlSerializer
In this post, Tess describes how using repeatedly calling:
XmlSerializer serializer = new XmlSerializer(typeof(PurchaseOrder), new XmlRootAttribute(""));
leaks a temporary assembly on each call. Ouch! Some of the other constructors cache the assemblies, but this one doesn't.
I was really surprised the first time I realized that temporary assemblies were getting generated. The perf hit is pretty huge the first time you do this. This is not a huge deal in a server app, but in a client app, this slows does launch time. In .NET 2.0, you can use sgen.exe to generate the assembly at build time so it doesn't have to happen at runtime.
Comments
- Anonymous
February 18, 2006
I think maybe to be and worse. - Anonymous
February 19, 2006
wow..this is insane.