. Sérialisation est utilisé dans NET Remoting pour envoyer des données entre des domaines d'application . . Pour les objets maréchal par valeur , les données elles-mêmes sont sérialisés et copiés sur les différents domaines d'application. Dans le cas d'objets maréchal - par - référence, mais uniquement la référence est sérialisé et envoyé. Sérialisation dans . NET Remoting peut être fait en utilisant le formateur binaire pour les applications où la vitesse est critique , ou le formateur SOAP si la communication sur l'interopérabilité ou le contre- feu est nécessaire . Formattters peuvent être modifiées à tout moment sans impacter le code d'accès distant . Les choses dont vous aurez besoin
. NET Remoting client et le serveur d'applications
Visual Studio
Afficher plus Instructions
préparer la classe
1
Ajouter SerializableAttribute au début de la classe déclaration
public Class TestSimpleObject ... End Class
2 Vérifiez que chaque membre de la classe est sérialisable . Le NonSerializedAttribute d'attribut peut être ajouté si le membre doit être ignorée . Le comportement du cadre par défaut est de sérialisation domaines public et privé.
3
Ajouter le OptionalFieldAttribute d'attribut à un domaine qui peut être laissé avec une valeur nulle . Ceci est ajouté à la déclaration de champ :
Public Class TestSimpleObject
privé chaîne _title
Fin classe
Encapsulate les méthodes
4
Encapsulate la méthode de sérialisation (binaire) :
public static void BinarySerialize (obj , le fichier de chaîne de l'objet) {using ( FileStream _FileStream = new FileStream (fichier, FileMode.Create )) { BinaryFormatter _Formatter = new BinaryFormatter (); _Formatter.Serialize ( _FileStream , obj) ;}}
5
Encapsulate la méthode de désérialisation (binaire ) :
objet statique publique BinaryDeserialize ( fichier string) {using ( FileStream _FileStream = new FileStream (fichier, FileMode.Open )) { BinaryFormatter _Formatter = new BinaryFormatter (); retour _Formatter.Deserialize ( _FileStream );} }
6
Formatters peuvent être modifiés de binaire en SOAP /XML en changeant simplement BinaryFormatter pour XMLSerializer .