Freigeben über


Verwenden von direkt gebundenen Partnerorchestrierungsports

Direkt gebundene Partnerorchestrierungsports bieten die Möglichkeit, zwischen verschiedenen Orchestrierungen über Ports zu kommunizieren. Sie können zwei Kommunikationsmuster erstellen: direkte Partnerorchestrierungsbindung und direkte Inverse-Partnerorchestrierungsbindung. Diese beiden Muster ermöglichen eine explizite Kommunikation zwischen Orchestrierungen, d. h. bei einer vorwärts gerichteten direkten Bindung der Partnerorchestrierung ist eine bestimmte Empfängerorchestrierung vorhanden, und bei einer umgekehrten direkten Bindung der Partnerorchestrierung ist eine bestimmte Absenderorchestrierung vorhanden.

Sie können auch eine implizite direkte Bindung der Partnerorchestrierung entwerfen, indem Sie einen der folgenden Schritte ausführen:

  • Legen Sie als Empfänger einen direkt gebundenen MessageBox-Port fest, und erstellen Sie einen Filter, mit dem Nachrichten von einer bestimmten sendenden Orchestrierung akzeptiert werden.

  • Legen Sie als Absender einen direkt gebundenen MessageBox-Port fest, und stufen Sie Eigenschaften herauf, die mit einem Abonnement auf der empfangenden Orchestrierung übereinstimmen.

    Um einen direkt gebundenen Port für die Partnerorchestrierung zu konfigurieren, geben Sie im Portkonfigurations-Assistenten Direkt für Portbindung an , und wählen Sie So empfangen Sie Nachrichten von anderen Orchestrierungen aus, wählen Sie diesen Port hier und in dieser Orchestrierung aus, je nachdem , ob Sie Nachrichten an diesen Port empfangen oder senden. Wählen Sie dann den Port aus der Dropdownliste Port on Partnerorchestrierung aus. Der Porttyp beider Ports muss identisch sein. Dadurch ergibt sich, dass auch der Nachrichtentyp identisch sein muss. Um eine direkte Bindung an einen Partnerorchestrierungsport herstellen zu können, muss der Typmodifizierer des Porttyps für Orchestrierungen innerhalb derselben Assembly entweder intern oder öffentlich sein, damit eine Orchestrierung von einer anderen Assembly gebunden werden kann. Die Polaritäten der Ports müssen entgegengesetzt sein. Wenn die eine Seite beispielsweise ein Sendeport ist, muss die andere Seite ein Empfangsport sein.

    Ein Beispiel für die Verwendung von direkt gebundenen Ports für die Partnerorchestrierung finden Sie im SDK-Beispiel "Direkte Bindung an eine Orchestrierung" unter https://go.microsoft.com/fwlink/?LinkId=73703.

Vorwärts gerichtete direkte Bindung der Partnerorchestrierung

Dies ist das Kommunikationsmuster, das in der Regel für die direkte Bindung der Partnerorchestrierung verwendet wird. Bei dieser Art von vorwärts gerichteter Bindung der Partnerorchestrierung können mehrere Absender an denselben Empfänger gebunden werden.

Gehen Sie folgendermaßen vor, um eine vorwärts gerichtete direkte Bindung der Partnerorchestrierung zu konfigurieren:

  1. Wählen Sie in Orchestrierung A in der Orchestrierungs-Toolbox das Shape Port aus. Auf diese Weise wird der Portkonfigurations-Assistent gestartet.

  2. Geben Sie auf der Seite Porteigenschaften im Feld Name den Namen ein MyReceivePort. Klicken Sie auf Weiter.

  3. Wählen Sie auf der Seite Porttyp auswählen die Option Neuen Porttyp erstellen aus. Geben Sie im Feld Porttypname den Namen ein MyPartnerPortType. Klicken Sie auf Weiter.

  4. Wählen Sie auf der Seite Portbindung in der Dropdownliste Portrichtung der Kommunikation die Option Ich erhalte immer Nachrichten an diesem Port aus. Wählen Sie in der Dropdownliste Portbindung die Option Direkt aus.

  5. Wählen Sie Zum Empfangen von Nachrichten von anderen Orchestrierungen diesen Port hier und in diesen Orchestrierungen aus, und wählen Sie dann in der Dropdownliste Port auf Partnerorchestrierungdie Option OrchestrationA.MyReceivePort aus. Klicken Sie auf Weiter.

  6. Klicken Sie auf der Seite Portierungs-Assistent abschließen auf Fertig stellen.

  7. Wählen Sie in Orchestrierung B in der Orchestrierungs-Toolbox das Shape Port aus. Auf diese Weise wird der Portkonfigurations-Assistent gestartet.

  8. Geben Sie auf der Seite Porteigenschaften im Feld Name den Namen ein MySendPort. Klicken Sie auf Weiter.

  9. Wählen Sie auf der Seite Porttyp auswählen die Option Vorhandenen Porttyp verwendenaus. Wählen Sie unter Verfügbare Porttypendie Option MyPartnerPortType aus, und klicken Sie dann auf Weiter.

  10. Wählen Sie auf der Seite Portbindung in der Dropdownliste Portrichtung der Kommunikation die Option Ich sende immer Nachrichten an diesem Port aus. Wählen Sie in der Dropdownliste Portbindung die Option Direkt aus.

  11. Wählen Sie Zum Senden von Nachrichten an andere Orchestrierungen diesen Port hier und in diesen Orchestrierungen aus, und wählen Sie dann in der Dropdownliste Port auf Partnerorchestrierungdie Option OrchestrationA.MyReceivePort aus. Klicken Sie auf Weiter.

  12. Klicken Sie auf der Seite Portierungs-Assistent abschließen auf Fertig stellen.

    Hinweis

    Die Absenderorchestrierung und die Empfängerorchestrierung sind stark aneinander gebunden. Wenn Sie die Empfängerorchestrierung oder die Version der Empfängerorchestrierung ändern möchten, müssen Sie daher die Entwurfszeitkonfiguration des direkt gebundenen Partnerorchestrierungsports des Absenders aktualisieren. Da die Empfängerorchestrierung jedoch nicht in direkter Abhängigkeit zur Absenderorchestrierung steht, können Sie die Absenderorchestrierung ohne Auswirkungen auf die Empfängerorchestrierung aktualisieren.

    In der vorangehenden Konfiguration ist Orchestrierung A der Empfänger und Orchestrierung B der Absender. Die Konfiguration ermöglicht Orchestrierung B, Nachrichten an OrchestrationA.MyReceivePort zu senden, und Orchestrierung A kann alle an OrchestrationA.MyReceivePort gesendeten Nachrichten empfangen. Darüber hinaus können Sie Orchestrierung C als zweiten Absender und Orchestrierung D als dritten Absender hinzufügen. Verwenden Sie dazu dieselbe Konfiguration wie für Orchestrierung B.

Umgekehrte direkte Bindung der Partnerorchestrierung

Die ist nicht das übliche Kommunikationsmuster, das für die direkte Bindung der Partnerorchestrierung verwendet wird. In diesem Kommunikationsmuster ist die Bindungsrichtung der Kommunikationsrichtung entgegengesetzt. Bei dieser Art der umgekehrten direkten Bindung der Partnerorchestrierung kann ein einzelner Absender mit mehreren Empfängern kommunizieren.

Hinweis

Wenn Sie einen bidirektionalen Porttypen mit einer umgekehrten direkten Bindung der Partnerorchestrierung verwenden, müssen Sie die Empfangsfilter so einrichten, dass nur einer der Empfänger die Nachricht erhält. Der Port vom Typ "Antwort anfragen" erwartet nur eine Antwort. Wenn mehrere Empfänger die Nachricht erhalten, akzeptiert der Port vom Typ "Antwort anfragen" die erste Antwort, und alle folgenden Antworten werden angehalten und können nicht fortgesetzt werden. Wenn Sie unter diesen Bedingungen versuchen, die Nachricht zu senden, wird von der Messaging-Engine eine Ausnahme ausgegeben und angezeigt, dass mehrere Empfänger für einen Port vom Typ "Antwort anfragen" vorhanden sind.

Gehen Sie folgendermaßen vor, um eine umgekehrte direkte Bindung der Partnerorchestrierung zu konfigurieren:

  1. Wählen Sie in Orchestrierung A in der Orchestrierungs-Toolbox das Shape Port aus. Auf diese Weise wird der Portkonfigurations-Assistent gestartet.

  2. Geben Sie auf der Seite Porteigenschaften im Feld Name den Namen ein MySendPort. Klicken Sie auf Weiter.

  3. Wählen Sie auf der Seite Porttyp auswählen die Option Neuen Porttyp erstellen aus. Geben Sie im Feld Porttypname den Namen ein MyPartnerPortType. Klicken Sie auf Weiter.

  4. Wählen Sie auf der Seite Portbindung in der Dropdownliste Portrichtung der Kommunikation die Option Ich sende immer Nachrichten an diesem Port aus. Wählen Sie in der Dropdownliste Portbindung die Option Direkt aus.

  5. Wählen Sie Zum Senden von Nachrichten an andere Orchestrierungen diesen Port hier und in diesen Orchestrierungen aus, und wählen Sie dann in der Dropdownliste Port auf PartnerorchestrierungOrchestrierungA.MySendPort aus. Klicken Sie auf Weiter.

  6. Klicken Sie auf der Seite Portierungs-Assistent abschließen auf Fertig stellen.

  7. Wählen Sie in Orchestrierung B in der Orchestrierungs-Toolbox das Shape Port aus. Auf diese Weise wird der Portkonfigurations-Assistent gestartet.

  8. Geben Sie auf der Seite Porteigenschaften im Feld Name die Zeichenfolge ein MyReceivePort. Klicken Sie auf Weiter.

  9. Wählen Sie auf der Seite Porttyp auswählen die Option Vorhandenen Porttyp verwendenaus. Wählen Sie unter Verfügbare Porttypendie Option MyPartnerPortType aus, und klicken Sie dann auf Weiter.

  10. Wählen Sie auf der Seite Portbindung in der Dropdownliste Portrichtung der Kommunikation die Option Ich erhalte immer Nachrichten an diesem Port aus. Wählen Sie in der Dropdownliste Portbindung die Option Direkt aus.

  11. Wählen Sie Zum Empfangen von Nachrichten von anderen Orchestrierungen diesen Port hier und in diesen Orchestrierungen aus, und wählen Sie dann in der Dropdownliste Port auf Partnerorchestrierungdie Option OrchestrationA.MySendPort aus. Klicken Sie auf Weiter.

  12. Klicken Sie auf der Seite Portierungs-Assistent abschließen auf Fertig stellen.

    Hinweis

    Die Empfängerorchestrierung und die Absenderorchestrierung sind stark aneinander gebunden. Wenn Sie die Empfängerorchestrierung ändern oder die Version der Empfängerorchestrierung aktualisieren möchten, müssen Sie daher die Portkonfiguration des Absenders aktualisieren. Da die Absenderorchestrierung jedoch nicht in direkter Abhängigkeit zur Empfängerorchestrierung steht, können Sie die Empfängerorchestrierung ohne Auswirkungen auf die Absenderorchestrierung aktualisieren.

    In der vorangehenden Konfiguration ist Orchestrierung A der Absender und Orchestrierung B der Empfänger. Die Konfiguration ermöglicht Orchestrierung A das Senden von Nachrichten an Orchestrierung B über OrchestrationA.MySendPort und Orchestrierung B zum Empfangen von Nachrichten von OrchestrationA.MySendPort. Darüber hinaus können Sie Orchestrierung C als zweiten Empfänger und Orchestrierung D als dritten Empfänger hinzufügen. Verwenden Sie dazu dieselbe Konfiguration wie für Orchestrierung B.

Weitere Informationen

Verwenden von direkt gebundenen MessageBox-PortsVerwenden Self-Correlating direkt gebundenen Ports