Serialisierung

Definition - Was bedeutet Serialisierung?

Bei der Serialisierung werden die Statusinformationen einer Objektinstanz in eine binäre oder textuelle Form konvertiert, um auf einem Speichermedium zu bleiben oder über ein Netzwerk transportiert zu werden.

Die Serialisierung wird von Common Language Runtime (CLR) ausgeführt, um die aktuellen Statusinformationen eines Objekts in einem temporären (wie ASP.NET-Cache) oder permanenten Speicher (Datei, Datenbank usw.) zu speichern, um sie später zum Aktualisieren eines Objekts zu verwenden gleiche Informationen. Dabei werden öffentliche und private Mitglieder eines Objekts einschließlich des Namens der Klasse und der Assembly in einen Bytestrom konvertiert, der dann in den Datenstrom geschrieben wird. Der umgekehrte Vorgang des Konvertierens eines Bitstroms in ein Objekt wird als Deserialisierung bezeichnet.

Das .NET Framework bietet zwei Methoden zur Serialisierung, nämlich die binäre Serialisierung und die XML-Serialisierung. Durch die binäre Serialisierung wird der Status des Objekts zwischen verschiedenen Aufrufen einer Anwendung beibehalten, indem die Typentreue beibehalten wird. Bei der XML-Serialisierung wird XML als offener Standard verwendet, um nur die öffentlichen Eigenschaften und Felder zu serialisieren. Die Typentreue wird nicht beibehalten, die Serialisierung in lesbarem, plattformübergreifendem XML wird jedoch unterstützt. Das Framework bietet viele Optionen zum Anpassen des Serialisierungsprozesses an die Anwendungsanforderungen.

Technische.me erklärt die Serialisierung

Die Serialisierung wird verwendet, wenn große Datenmengen in Einfachdateien gespeichert und zu einem späteren Zeitpunkt abgerufen werden müssen. Um dies ohne Serialisierung zu erreichen, wird es zu langwierig, fehleranfällig und kompliziert, da die Datenstruktur komplex ist. Reflection ist eine Technik, die das .NET Framework bereitstellt, um alle Mitglieder einer Assembly automatisch in den Speicher zu serialisieren. Remoting ist ein Konzept, bei dem mithilfe der binären Serialisierung Argumente in Methoden von einem Computer an einen anderen gesendet werden. Beispiele für die Verwendung sind das Speichern des Sitzungsstatus in ASP.NET, das Kopieren von Objekten in die Zwischenablage in Windows Forms usw. Die Serialisierung (XML) wird auch hauptsächlich zum Freigeben von Daten im Netzwerk verwendet, ohne die Anwendung für die Verwendung von Daten einzuschränken.

Die Serialisierung kann in allen .NET-Objekten implementiert werden, indem das Attribut Serializable für die Klasse eingefügt wird. Durch Kennzeichnen des OptionalField-Attributs mit den neu hinzugefügten Mitgliedern der Klasse können die früheren Versionen des Objekts fehlerfrei deserialisiert werden. Die in .NET Framework verwendete Serialisierungs-Engine stellt sicher, dass die Serialisierung nur einmal pro Objekt erfolgt, und verarbeitet Objektdiagramme und Zirkelverweise automatisch.

Diese Definition wurde im Kontext von .NET geschrieben