. Serialisierung ist in NET Remoting verwendet, um Daten zwischen Anwendungsdomänen senden. Für Marschall -by- Value-Objekte , werden die Daten selbst serialisiert und kopiert in den Anwendungsbereichen . In Fällen von Marschall -by-reference Objekten wird nur die Referenz serialisiert und gesendet. Serialisierung in . NET Remoting kann mit dem Binärformatierer für Anwendungen, bei denen Geschwindigkeit ist entscheidend , oder die den SOAP- Formatierer werden, wenn die Interoperabilität oder Cross- Firewall die Kommunikation notwendig ist. Formattters kann jederzeit ohne Einfluss auf den Remoting- Code geändert werden. Was Sie brauchen
. NET Remoting -Client und Server-Anwendungen Visual Studio
anzeigen Weitere Anweisungen
Bereiten Sie die Klasse
1
hinzufügen SerializableAttribute zum Anfang der Klassendeklaration
Public Class TestSimpleObject ... End Class
2 sicher, dass jedes Mitglied der Klasse serialisierbar ist . Das Attribut NonSerializedAttribute können hinzugefügt werden, wenn das Mitglied ist , um ignoriert zu werden . Die Rahmenbestimmungen Vorgabe ist, dass private und öffentliche Bereiche serialisieren.
3
Fügen Sie das Attribut OptionalFieldAttribute einem Feld, das mit einem Null- Wert belassen werden . Dies ist auf dem Gebiet Deklaration hinzugefügt :
Public Class TestSimpleObject
private string _title
End Klasse
kapseln die Methoden
4
kapseln die Serialisierung Verfahren (binär ):
public static void BinarySerialize (object obj , string file) {using ( FileStream _FileStream = new FileStream (Datei , FileMode.Create )) { BinaryFormatter _Formatter = new BinaryFormatter (); _Formatter.Serialize ( _FileStream , obj) ;}}
5
kapseln die Deserialisierung Verfahren (binär ):
public static Objekt BinaryDeserialize (string file) {using ( FileStream _FileStream = new FileStream (Datei , FileMode.Open )) { BinaryFormatter _Formatter = new BinaryFormatter (); Rückkehr _Formatter.Deserialize ( _FileStream );} }
6
Formatters können von binär zu SOAP /XML , indem Sie einfach auf BinaryFormatter XMLSerializer geändert werden.