Partager via


Marshaler par valeur

Les objets sont uniquement valides dans le domaine d'application au sein duquel ils ont été créés. Toute tentative de passer l'objet comme un paramètre ou de le retourner ensuite entraîne un échec à moins que l'objet dérive de MarshalByRefObject ou soit marqué comme Sérialisable. Si l'objet est marqué comme Sérialisable, il est automatiquement sérialisé, transporté d'un domaine d'application à l'autre, puis désérialisé pour en générer une copie exacte dans le deuxième domaine d'application. Ce processus est en général connu sous le nom de marshaling par valeur.

Lorsqu'un objet dérive de MarshalByRefObject, une référence d'objet (et non l'objet lui-même) est passée d'un domaine d'application à un autre. Vous pouvez également marquer un objet qui dérive de MarshalByRefObject comme Serializable. Lorsque cet objet est utilisé avec la communication à distance, le formateur responsable de la sérialisation, préconfiguré avec un sélecteur de substitut (SurrogateSelector), prend le contrôle du processus de sérialisation et remplace tous les objets dérivés de MarshalByRefObject par un proxy. Si SurrogateSelector n'est pas défini, l'architecture de sérialisation suit les règles de sérialisation standard décrites dans Étapes du processus de sérialisation.

Voir aussi

Autres ressources

Concepts de sérialisation
Remote Objects
Sérialisation XML et SOAP