Wie oft sollte jedes GetObjectData Methode des Objekts während benutzerdefinierte Serialisierung genannt werden?
-
28-09-2019 - |
Frage
Ich bin die Serialisierung der Daten in meiner Anwendung mit benutzerdefinierter Serialisierung das heißt jede der Klassen I Speicherung bin hat das [Serializable]
Attribut und Geräte ISerializable
. Die Objektgraph serialisiert ist einigermaßen komplex mit vielen Querverweisen zwischen den Objekten / Klassen. Die Serialisierung funktioniert , aber es ist ziemlich langsam. : (
einen Haltepunkt in jeder relevanten Klasse GetObjectData
Methode Indem habe ich festgestellt, dass ich immer viele, viele mehr Hits als ich Objekte haben.
Ich bin verwirrt - mein Verständnis der Serialisierung Rahmen war, dass es nur einmal pro Objekt speichern würde, auch wenn das Objekt Graph mehrere Verweise darauf enthalten ist. Ich nahm an, dass dies jedes Objekt GetObjectData
Methode gemeint beim Speichern nur einmal aufgerufen werden müßte. Bin ich falsch?
Und wenn ja, ist es etwas, was ich in diesem Ansatz tun kann, um die Anzahl der Anrufe in meine Klassen GetObjectData
Methoden?
Danke.
Lösung
Die MSDN docs tun nicht garantieren, nur 1 Anruf pro Objektinstanz.
Haben Sie versucht, diese mit unterschiedlichen Formatierer? Es gibt Kommentare