Vue d'ensemble du marshaling personnalisé

Mise à jour : novembre 2007

Le marshaleur établit essentiellement une passerelle entre la fonctionnalité des interfaces ancienne et nouvelle. Le marshaling personnalisé permet aux clients conçus pour travailler avec une interface ancienne de travailler également avec des serveurs qui implémentent uniquement une interface nouvelle. Le marshaling personnalisé permet également aux clients générés pour travailler avec une interface nouvelle de travailler avec des serveurs qui exposent l'interface ancienne.

Plutôt que d'utiliser le marshaleur d'interopérabilité, vous pouvez concevoir un marshaleur personnalisé pour une interface qui présente un comportement différent en matière de marshaling ou qui expose l'interface à COM d'une manière différente. En utilisant un marshaleur personnalisé, vous pouvez réduire la distinction entre les nouveaux composants .NET et les composants COM existants.

Supposons, par exemple, que vous développiez une interface managée appelée INew. Lorsqu'elle est exposée à COM via un wrapper pouvant être appelé par COM standard, l'interface a les mêmes méthodes que l'interface managée et utilise les règles de marshaling internes du marshaleur d'interopérabilité. Supposons encore qu'une interface COM bien connue appelée IOld fournisse déjà la même fonctionnalité que l'interface INew. En introduisant un marshaleur personnalisé, vous pouvez fournir une implémentation non managée de l'interface IOld qui délègue simplement les appels à l'implémentation managée de l'interface INew. Le marshaleur personnalisé joue essentiellement un rôle de passerelle entre les interfaces managée et non managée.

Notez que les marshaleurs personnalisés ne sont pas appelés lorsque l'appel est effectué du côté managé vers le côté non managé sur une interface de distribution uniquement.

Voir aussi

Concepts

Définition du type de marshaling

Implémentation de l'interface ICustomMarshaler

Utilisation d'un marshaleur de remplacement