Partager via


Scénarios de pipelines de compléments

Le modèle objet de pipeline de complément est suffisamment souple pour permettre aux applications hôte et compléments d'interopérer comme suit :

  • Compatibilité descendante. Les versions plus récentes des hôtes ou des compléments peuvent fonctionner avec leurs équivalents plus anciens.

  • Isolement. Vous pouvez déplacer un ou plusieurs compléments dans un domaine d'application du processus hôte ou d'un processus isolé.

  • Partage. Vous pouvez utiliser un complément dans plusieurs pipelines de communication.

L'illustration suivante montre un pipeline de communication simple et ses segments.

Pipeline de communication standard

Modèle de pipeline de complément.

Compatibilité descendante

Deux scénarios illustrent la compatibilité descendante.

Nouvel hôte, anciens compléments

L'illustration suivante indique comment un nouvel hôte peut fonctionner avec un ancien complément.

Pipeline de communication avec un nouvel hôte et un ancien complément

Scénario de pipeline : nouvel hôte, anciens compléments.

Dans ce scénario de compatibilité descendante, le nouvel hôte (hôte v2) peut fonctionner avec un ancien complément (complément v1) parce que son adaptateur côté complément (adaptateur côté complément v1->v2) convertit les types en un format que l'ancien complément peut comprendre.

Le nouveau complément (complément v2) a sa propre vue et segments d'adaptateur pour communiquer avec le nouvel hôte.

Ancien hôte, nouveaux compléments

L'illustration suivante indique comment un ancien hôte peut fonctionner avec de nouveaux compléments.

Pipeline de communication avec un ancien hôte et un nouveau complément

Scénario de pipeline : ancien hôte, nouveaux compléments.

Dans ce scénario de compatibilité descendante, le nouveau complément (complément v2) peut fonctionner avec l'ancien hôte (hôte v1) parce que son adaptateur côté complément (adaptateur côté complément v2->v1) convertit les types en un format que l'ancien hôte peut comprendre.

Niveaux d'isolement variables

Vous pouvez activer des compléments dans un nouveau processus ou domaine d'application à l'aide des surcharges appropriées de la méthode Activate. Cet isolement peut être nécessaire pour les raisons suivantes :

  • Pour gérer des situations dans lesquelles l'application hôte change et ses nouvelles dépendances ne peuvent pas être accommodées par les compléments plus anciens. Cela peut se produire, par exemple, lorsque l'application hôte est mise à niveau vers une nouvelle version du .NET Framework.

  • Pour garantir la fiabilité en exécutant le complément dans son propre processus.

  • Créez un bac à sable (sandbox) pour le complément. Par exemple, une application hôte et un complément ont des niveaux de confiance différents comme l'énumération AddInSecurityLevel le spécifie.

L'illustration suivante montre un pipeline de communication avec deux compléments, l'un d'entre eux se trouvant dans un processus isolé. Dans l'illustration, OOP indique un processus isolé.

Pipeline de communication avec un complément isolé

Scénario de pipeline : niveaux d'isolation.

Dans ce scénario, un développeur de pipeline a deux versions différentes du contrat et des adaptateurs : l'une est optimisée pour assurer la communication entre les domaines d'application et l'autre est optimisée pour assurer la communication interprocessus. Ni les compléments ni l'hôte ne doivent connaître les différences, car ils utilisent les mêmes vues, indépendamment du contrat et du niveau d'isolement.

Compléments partagés

Vous pouvez utiliser un complément avec plusieurs hôtes, pourvu que le complément soit compatible avec les hôtes. Par exemple, vous pouvez utiliser un complément partagé pour implémenter une barre d'outils qui permet une recherche sur Internet à partir d'une application Web hôte. Dans un autre exemple, un complément partagé peut fournir à des serveurs ou clients de messagerie des filtres de courrier indésirable et une protection contre les virus.

Pour permettre au complément de fonctionner avec son nouvel hôte, vous devez créer un adaptateur côté complément qui permet des conversions de la vue de votre complément vers le contrat de l'hôte.

L'illustration suivante explique comment un complément (complément A) peut être partagé par deux applications hôte (hôtes A et B).

Pipeline de communication avec un complément partagé

Scénario de pipeline : compléments partagés.

Voir aussi

Concepts

Développement de pipeline