Utilisation des ports à liaison directe de l'orchestration du partenaire
Les ports à liaison directe de l'orchestration du partenaire vous proposent une communication asynchrone entre orchestrations. Vous pouvez créer deux modèles de communication : liaison directe d’orchestration de partenaire directe et liaison directe d’orchestration de partenaire inverse. Ces deux modèles permettent une communication explicite entre orchestrations, ce qui signifie qu'il existe une orchestration destinataire prévue dans le cas de la liaison directe vers l'avant de l'orchestration du partenaire, et une orchestration d'expédition prévue dans le cas de la liaison directe inversée de l'orchestration du partenaire.
Vous pouvez également concevoir une liaison directe implicite de l'orchestration du partenaire en suivant l'une de ces méthodes :
Choisissez un port à liaison directe MessageBox comme destinataire et créez un filtre qui acceptera les messages provenant d'une orchestration d'expédition particulière.
Choisissez un port à liaison directe MessageBox comme expéditeur et promouvez des propriétés qui correspondront à un abonnement de l'orchestration de réception.
Pour configurer un port lié direct d’orchestration de partenaire, dans l’Assistant Configuration du port, spécifiez Direct pour liaison de port et sélectionnez Pour recevoir des messages d’autres orchestrations, sélectionnez ce port ici et dans ces orchestrationsou Pour envoyer des messages à d’autres orchestrations, sélectionnez ce port ici et dans cette orchestration selon que vous recevez ou envoyez des messages sur ce port. Sélectionnez ensuite le port dans la liste déroulante Port sur l’orchestration du partenaire . Le type de port doit être identique pour les deux ports, ce qui implique que le type de message doit également être le même. En outre, pour pouvoir diriger la liaison vers un port d’orchestration partenaire, le modificateur de type de port doit être Interne pour les orchestrations au sein du même assembly ou Public pour permettre à une orchestration d’un autre assembly de se lier à celui-ci. Les polarités des ports doivent être opposées. Par exemple, si l'une des extrémités est un port d'envoi, l'autre extrémité doit être un port de réception.
Pour obtenir un exemple d’utilisation des ports liés directement à l’orchestration de partenaires, consultez l’exemple de kit de développement logiciel (SDK) « Liaison directe à une orchestration » sur https://go.microsoft.com/fwlink/?LinkId=73703.
Liaison directe vers l'avant de l'orchestration du partenaire
Il s'agit du modèle de communication typique utilisé pour la liaison directe de l'orchestration du partenaire. Ce type de liaison vers l'avant vous permet de lier des expéditeurs multiples au même destinataire.
Pour configurer la liaison directe vers l'avant de l'orchestration du partenaire, procédez comme suit :
Dans Orchestration A, sélectionnez la forme port dans la boîte à outils orchestration. L'Assistant Configuration du port démarre.
Dans la page Propriétés du port , dans le champ Nom , tapez
MyReceivePort
. Cliquez sur Suivant.Dans la page Sélectionner un type de port , sélectionnez Créer un type de port. Dans le champ Nom du type de port, tapez
MyPartnerPortType
. Cliquez sur Suivant.Dans la page Liaison de port, dans la liste déroulante Sens de la communication du port , sélectionnez Je recevrai toujours des messages sur ce port. Dans la liste déroulante Liaison de port, sélectionnez Direct.
Sélectionnez Pour recevoir des messages d’autres orchestrations, sélectionnez ce port ici et dans ces orchestrations, puis, dans la liste déroulante Port sur l’orchestration du partenaire , sélectionnez OrchestrationA.MyReceivePort. Cliquez sur Suivant.
Dans la page Fin de l’Assistant Port , cliquez sur Terminer.
Dans Orchestration B, sélectionnez la forme port dans la boîte à outils orchestration. L'Assistant Configuration du port démarre.
Dans la page Propriétés du port , dans le champ Nom , tapez
MySendPort
. Cliquez sur Suivant.Dans la page Sélectionner un type de port , sélectionnez Utiliser un type de port existant. Sous Types de ports disponibles, sélectionnez MyPartnerPortType, puis cliquez sur Suivant.
Dans la page Liaison de port, dans la liste déroulante Sens de la communication du port , sélectionnez Je vais toujours envoyer des messages sur ce port. Dans la liste déroulante Liaison de port, sélectionnez Direct.
Sélectionnez Pour envoyer des messages à d’autres orchestrations, sélectionnez ce port ici et dans ces orchestrations, puis dans la liste déroulante Port sur l’orchestration du partenaire , sélectionnez OrchestrationA.MyReceivePort. Cliquez sur Suivant.
Dans la page Fin de l’Assistant Port , cliquez sur Terminer.
Notes
Une liaison directe forte est créée depuis l'orchestration d'expédition vers l'orchestration de réception. Donc, si vous voulez modifier l'orchestration de réception ou si vous voulez modifier la version de l'orchestration de réception, vous devez mettre à jour la configuration de conception du port à liaison directe d'expédition de l'orchestration du partenaire. Cependant, vu que l'orchestration de réception n'a aucune connaissance explicite de l'orchestration d'expédition, vous pouvez mettre à jour l'orchestration d'expédition sans affecter l'orchestration de réception.
Dans la configuration précédente, l'Orchestration A est le destinataire et l'Orchestration B est l'expéditeur. La configuration permet à Orchestration B d’envoyer des messages à OrchestrationA.MyReceivePort et à Orchestration A de recevoir tous les messages envoyés à OrchestrationA.MyReceivePort. De plus, vous pouvez ajouter l'Orchestration C en tant que deuxième expéditeur et ajouter l'Orchestration D en tant que troisième expéditeur en utilisant la même configuration que pour l'Orchestration B.
Liaison directe inversée de l'orchestration du partenaire
Il ne s'agit pas du modèle de communication typique utilisé pour la liaison directe de l'orchestration du partenaire. Dans ce modèle, la direction de la liaison est l'inverse de la direction de la communication. Ce type de liaison inversée vous permet de lier un expéditeur unique à de multiples destinataires.
Notes
Si vous utilisez un type de port bidirectionnel dans une liaison directe inversée de l'orchestration du partenaire, vous devez définir vos filtres de réception de manière à ce qu'un seul destinataire consomme le message. Cela est dû au fait qu'un port de sollicitation-réponse attend une réponse unique. Si plusieurs destinataires reçoivent le message, le port de sollicitation-réponse accepte la première réponse et toutes les réponses suivantes sont interrompues sans reprise possible. Le moteur de messagerie génère une exception lorsque vous essayez d'envoyer le message dans cette situation, et indique qu'il existe des destinataires multiples pour un port de sollicitation-réponse.
Pour configurer la liaison directe inversée de l'orchestration du partenaire, procédez comme suit :
Dans Orchestration A, sélectionnez la forme port dans la boîte à outils orchestration. L'Assistant Configuration du port démarre.
Dans la page Propriétés du port , dans le champ Nom , tapez
MySendPort
. Cliquez sur Suivant.Dans la page Sélectionner un type de port , sélectionnez Créer un type de port. Dans le champ Nom du type de port, tapez
MyPartnerPortType
. Cliquez sur Suivant.Dans la page Liaison de port, dans la liste déroulante Sens de la communication du port , sélectionnez Je vais toujours envoyer des messages sur ce port. Dans la liste déroulante Liaison de port, sélectionnez Direct.
Sélectionnez Pour envoyer des messages à d’autres orchestrations, sélectionnez ce port ici et dans ces orchestrations, puis dans la liste déroulante Port sur l’orchestration du partenaire , sélectionnez OrchestrationA.MySendPort. Cliquez sur Suivant.
Dans la page Fin de l’Assistant Port , cliquez sur Terminer.
Dans Orchestration B, sélectionnez la forme port dans la boîte à outils orchestration. L'Assistant Configuration du port démarre.
Dans la page Propriétés du port , dans le champ Nom , entrez
MyReceivePort
. Cliquez sur Suivant.Dans la page Sélectionner un type de port , sélectionnez Utiliser un type de port existant. Sous Types de ports disponibles, sélectionnez MyPartnerPortType, puis cliquez sur Suivant.
Dans la page Liaison de port, dans la liste déroulante Sens de la communication du port , sélectionnez Je recevrai toujours des messages sur ce port. Dans la liste déroulante Liaison de port, sélectionnez Direct.
Sélectionnez Pour recevoir des messages d’autres orchestrations, sélectionnez ce port ici et dans ces orchestrations, puis, dans la liste déroulante Port sur l’orchestration du partenaire , sélectionnez OrchestrationA.MySendPort. Cliquez sur Suivant.
Dans la page Fin de l’Assistant Port , cliquez sur Terminer.
Notes
Une liaison directe forte est créée depuis l'orchestration de réception vers l'orchestration d'expédition. Donc, si vous voulez modifier l'orchestration de réception ou mettre à jour la version de l'orchestration de réception, vous devez mettre à jour la configuration de conception du port d'expédition. Cependant, vu que l'orchestration d'expédition n'a aucune connaissance explicite de l'orchestration de réception, vous pouvez mettre à jour l'orchestration de réception sans affecter l'orchestration d'expédition.
Dans la configuration précédente, l'Orchestration A est l'expéditeur et l'Orchestration B est le destinataire. La configuration permet à Orchestration A d’envoyer des messages à Orchestration B via OrchestrationA.MySendPort, et permet à Orchestration B de recevoir des messages d’OrchestrationA.MySendPort. De plus, vous pouvez ajouter l'Orchestration C en tant que deuxième destinataire et ajouter l'Orchestration D en tant que troisième destinataire en utilisant la même configuration que pour l'Orchestration B.
Voir aussi
Comment utiliser des ports liés directs MessageBoxComment utiliser Self-Correlating ports à liaison directe