XmlSerializer-Performance-Problem, wenn die Angabe XmlRootAttribute

Ich bin gerade ein echt komisches Problem und ich kann nicht scheinen, um herauszufinden, wie es zu lösen.

Habe ich eine ziemlich komplexen Typ, die ich bin versucht zu serialisieren mithilfe der XmlSerializer-Klasse. Dieses funktioniert eigentlich gut und der Typ serialisiert richtig, aber scheint eine sehr lange Zeit dabei; um die 5 Sekunden, je nachdem, welche Daten in das Objekt.

Nach ein bisschen zu Profilieren, ich habe verengt das Thema down - Bizarr - mit der Angabe eines XmlRootAttribute beim Aufruf von XmlSerializer.Serialisieren. Ich Tue dies ändern Sie den Namen einer Sammlung, die serialisiert werden von ArrayOf zu etwas ein bisschen mehr Bedeutung. Nachdem ich entfernen Sie die parameter der operation ist fast instant!

Irgendwelche Gedanken oder Anregungen wäre sehr gut, da bin ich völlig ratlos auf diese!

  • Okay, sieht aus wie das Problem ist, dass die Serialisierungs-assembly generiert wird für jeden serializer Beispiel, wenn Sie angeben, alles andere als eine Art parameter der serializer! Das ist, warum - ich nehme an - ich sehe so schreckliche Leistung. Weiß jemand einen Grund, warum die Standard XmlSerializer dies zu tun wäre? Ich verstehe nicht, warum nur die Angabe der root-node name würde bedeuten, das der cache nicht genutzt werden?
InformationsquelleAutor Dougc | 2009-10-07
Schreibe einen Kommentar