. Serializzazione è usato in NET Remoting per l'invio di dati tra domini di applicazione . . Per gli oggetti per valore maresciallo , i dati stessi vengono serializzati e copiate tutti i domini di applicazione . In caso di oggetti con marshalling per riferimento , ma soltanto il riferimento è serializzato e inviato . Serializzazione . NET Remoting può essere fatto utilizzando il formattatore binario per applicazioni in cui la velocità è critica , o il il formattatore SOAP se interoperabilità o cross - firewall comunicazione sia necessaria . Formattters possono essere modificate in qualsiasi momento senza impattare il codice di comunicazione remota . Cose che ti serviranno
. NET Remoting client e server applicazioni
Visual Studio
Show More Istruzioni
Preparare la Classe
1
Aggiungi SerializableAttribute all'inizio della classe di dichiarazione
Public Class TestSimpleObject ... End Class
2 Verificare che ogni membro della classe è serializzabile . Il NonSerializedAttribute attributo può essere aggiunto se il socio deve essere ignorato . Comportamento predefinito del quadro è quello di serializzare campi pubblici e privati .
3
Aggiungi il OptionalFieldAttribute attributo a qualsiasi campo che può essere lasciato con un valore null. Questo si aggiunge alla dichiarazione di campo :
Public Class TestSimpleObject
privato stringa _title
End classe
incapsulare i metodi
4
incapsulare il metodo di serializzazione (binario ) :
public static void BinarySerialize ( obj , file di stringa oggetto ) {using ( FileStream _FileStream = new FileStream (file , FileMode.Create ) ) { BinaryFormatter _Formatter = new BinaryFormatter (); _Formatter.Serialize ( _FileStream , obj );} }
5
incapsulare il metodo di deserializzazione (binario ) :
oggetto statico pubblico BinaryDeserialize (file stringa ) {using ( FileStream _FileStream = new FileStream (file , FileMode.Open ) ) { BinaryFormatter _Formatter = new BinaryFormatter (); ritorno _Formatter.Deserialize ( _FileStream ) ; } }
6
Formattatori possono essere modificati da binario a SOAP /XML semplicemente cambiando BinaryFormatter per XMLSerializer .