Wie analysiere ich den Inhalt eines binären Serialisierungsstroms?

Ich verwende die binäre Serialisierung (BinaryFormatter) als temporären Mechanismus zum Speichern von Statusinformationen in einer Datei für eine relativ komplexe (Spiel-) Objektstruktur. die dateien kommen rausvie größer als erwartet, und meine Datenstruktur enthält rekursive Referenzen. Daher frage ich mich, ob in BinaryFormatter tatsächlich mehrere Kopien desselben Objekts gespeichert sind oder ob meine Grundrechenart "Anzahl der Objekte und Werte, die ich haben sollte" nicht stimmt -base, oder woher sonst die übermäßige Größe kommt.

uf der Suche nach einem Stapelüberlauf konnte ich die Spezifikation für das binäre Remoting-Format von Microsoft findehttp: //msdn.microsoft.com/en-us/library/cc236844 (PROT.10) .aspx

Was ich nicht finden kann, ist ein vorhandener Viewer, mit dem Sie in den Inhalt einer Binärformatierer-Ausgabedatei "hineinschauen" können - Objektanzahl und Gesamtbytes für verschiedene Objekttypen in der Datei usw. abrufen;

Ich habe das Gefühl, dass dies mein "google-fu" sein muss, das mir misslingt (was für ein kleines habe ich) - kann mir jemand helfen? DiesMus wurden schon mal gemacht, oder ??

AKTUALISIERE: Ich konnte es nicht finden und bekam keine Antworten, also habe ich etwas relativ schnell zusammengestellt (Link zum herunterladbaren Projekt unten). Ich kann bestätigen, dass der BinaryFormatter nicht mehrere Kopien desselben Objekts speichert, sondern eine ganze Menge Metadaten in den Stream druckt. Wenn Sie effizienten Speicher benötigen, erstellen Sie Ihre eigenen benutzerdefinierten Serialisierungsmethoden.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage