Freigeben über


Technologiebeispiel für einfache Serialisierung

Beispiel herunterladen

Dieses Beispiel zeigt, wie die Common Language Runtime ein Objektdiagramm im Speicher in einen Datenstream serialisieren kann. In diesem Beispiel kann entweder SoapFormatter oder BinaryFormatter für die Serialisierung verwendet werden. Eine mit Daten gefüllte verknüpfte Liste wird in einen Dateistream serialisiert bzw. aus diesem deserialisiert. In beiden Fällen wird die Liste mit den Ergebnissen angezeigt. Die verknüpfte Liste ist vom Typ LinkedList, einem durch dieses Beispiel definierten Typ.

Weitere Informationen zur Serialisierung finden Sie in den Kommentaren der Quellcodedateien und der Datei "build.proj".

So erstellen Sie das Beispiel mithilfe der Eingabeaufforderung

  1. Navigieren Sie mithilfe der Eingabeaufforderung zu einem der sprachspezifischen Unterverzeichnisse unter dem Verzeichnis "Technologies\Serialization\Runtime Serialization\Basic".

  2. Geben Sie je nach verwendeter Programmiersprache msbuild SerializationCS.sln, msbuild SerializationJSL.sln oder msbuild SerializationVB.sln in der Befehlszeile ein.

So erstellen Sie das Beispiel mithilfe von Visual Studio

  1. Öffnen Sie Datei-Explorer, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse für das Beispiel.

  2. Doppelklicken Sie je nach verwendeter Programmiersprache auf das Symbol für die Datei SerializationCS.sln, SerializationJSL.sln oder SerializationVB.sln, um die Datei in Visual Studio zu öffnen.

  3. Wählen Sie im Menü Erstellen die Option Projektmappe erstellen aus.

Die Beispielanwendung wird im Standardunterverzeichnis \bin oder \bin\Debug erstellt.

So führen Sie das Beispiel aus

  1. Navigieren Sie zu dem Verzeichnis, das die erstellte ausführbare Datei enthält.

  2. Geben Sie Serialization.exe zusammen mit den gewünschten Parameterwerten in der Befehlszeile ein.

    Hinweis

    In diesem Beispiel wird eine Konsolenanwendung erstellt.Sie müssen es über die Eingabeaufforderung starten, um die Ausgabe anzuzeigen.

Hinweise

Die Beispielanwendung akzeptiert Befehlszeilenparameter, die angeben, welcher Test durchgeführt werden soll. Verwenden Sie die sx Test.xml 10-Parameter, um eine Liste mit 10 Knoten mithilfe der SOAP-Formatiererung in eine Datei mit dem Namen Test.xml zu serialisieren.

Beispiel:

Serialize.exe -sx Test.xml 10

Verwenden Sie die dx Test.xml-Parameter, um die Datei Test.xml aus dem vorherigen Beispiel zu deserialisieren.

Beispiel:

Serialize.exe -dx Test.xml

In den beiden oben aufgeführten Beispielen bedeutet das "x" im Befehlszeilenschalter, dass die XML-SOAP-Serialisierung durchgeführt werden soll. Verwenden Sie "b", um die binäre Serialisierung durchzuführen. Wenn die Serialisierung mit einer großen Anzahl an Knoten durchgeführt werden soll, sollten Sie die Konsolenausgabe in eine Datei umleiten.

Beispiel:

Serialize.exe -sb Test.bin 10000 >somefile.txt

In der folgenden Aufzählung werden die in diesem Beispiel verwendeten Klassen und Technologien kurz beschrieben.

  • Laufzeitserialisierung

    • IFormatter Wird verwendet, um auf ein BinaryFormatter-Objekt oder ein SoapFormatter-Objekt zu verweisen.

    • BinaryFormatter Wird verwendet, um eine verknüpfte Liste in einen Stream im Binärformat zu serialisieren. Die Binärformatierung verwendet ein Format, das nur der BinaryFormatter-Typ versteht. Die Daten sind jedoch präzise.

    • SoapFormatter Wird verwendet, um eine verknüpfte Liste in einen Stream im SOAP-Format zu serialisieren. SOAP ist ein Standardformat.

  • Stream-E/A

    • Stream Wird zum Serialisieren und Deserialisieren verwendet. Bei dem in diesem Beispiel verwendeten speziellen Streamtyp handelt es sich um den FileStream-Typ. Die Serialisierung kann jedoch mit einem beliebigen aus Stream abgeleitetet Typ durchgeführt werden.

    • File Wird zum Erstellen von FileStream-Objekten zum Lesen und Erstellen von Dateien auf einem Datenträger verwendet.

    • FileStream Wird zum Serialisieren und Deserialisieren verknüpfter Listen verwendet.

Siehe auch

Referenz

BinaryFormatter-Klasse

File-Klasse

FileStream-Klasse

IFormatter-Schnittstelle

Random-Klasse

SerializableAttribute-Attribut

SoapFormatter-Klasse

Stream-Klasse

System.IO-Namespace

System.Runtime.Serialization-Namespace

System.Xml.Serialization-Namespace

Konzepte

Einfache Serialisierung

Steuern der XML-Serialisierung mit Attributen

Einführung in die XML-Serialisierung

Weitere Ressourcen

Binäre Serialisierung

Serialisierung in .NET Framework

SOAP Service

XML- und SOAP-Serialisierung