Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Serialisierung in .net

Detaillierte Erläuterung der Serialisierung in .net

PHPz
PHPzOriginal
2017-04-03 11:59:161505Durchsuche

Serialisierung in .net

Gemeinsame Serialisierungsformate und -methoden

In .net umfassen die gängigen Serialisierungsformate hauptsächlich JSON, Binär und XML, zusammengefasst in der folgenden Tabelle .

Detaillierte Erläuterung der Serialisierung in .net

Zurück zum Anfang

Hinweise

Über Annotationsregeln für Entitätsattribute:

1, alles in .net Die Markierung [Serialisierbar] sollte zur Klasse der für die Serialisierung verwendeten Entität hinzugefügt werden. Andernfalls tritt bei der JSON-Serialisierung kein Problem auf, es wird jedoch ein Fehler gemeldet, wenn BinaryFormatter für die binäre Serialisierung verwendet wird.

2. Bei Anwendung in wcf sollten [DataContract]-Tags zu den Klassen aller Entitäten und [DataMember] zu den Feldern hinzugefügt werden.

3. Wenn bei Verwendung von newtonsoft.json [DataContract] zur Entitätsklasse hinzugefügt wird, wird [DataMember] zu einigen Feldern hinzugefügt, und einige Felder werden nicht hinzugefügt, diejenigen, die nicht hinzugefügt werden, sollten jedoch ebenfalls hinzugefügt werden während der Serialisierung eingeschlossen werden. [DataMember]-Felder können durch Hinzufügen von [JsonObject(MemberSerialization.OptOut)] zur Entitätsklasse gelöst werden, was bedeutet, dass alle öffentlichen Felder ausgegeben werden.

4. Bei Verwendung von newtonsoft.json kann System.Web.UI.WebControls.ListItem nicht serialisiert werden. Die Lösung besteht darin, eine Klasse anzupassen und sie als [Serialisierbar] zu markieren.

Zurück zum Anfang

Zusammenfassung

1. Wenn es sich um ein JSON-Format handelt, ist NewtonSoft.Json am vielseitigsten (kann Zirkelverweise verarbeiten), obwohl es nicht das schnellste ist .

2. Wenn es im XML-Format vorliegt, verwenden Sie den XmlSerializer, der mit .net geliefert wird.

3. Wenn es sich um ein Binärformat handelt, verwenden Sie den mit .net gelieferten BinaryFormatter. Obwohl Protobuf schnell ist, ist das Hinzufügen der Seriennummer mühsam.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Serialisierung in .net. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn