Freigeben über


Verwenden von direkt gebundenen selbstkorrelierenden Ports

Direkt gebundene selbstkorrelierende Ports verweisen auf sich selbst. Dies bedeutet, dass ein direkt gebundener selbstkorrelierender Port die Informationen zur Verfügung stellt, mit denen eine Orchestrierung Nachrichten an die einschließende Orchestrierung zurücksenden kann. Bei Verwendung der selbstkorrelierenden direkten Bindung erstellt die Orchestrierungs-Engine ein Korrelationstoken für eine Nachricht, das für diese Orchestrierungsinstanz eindeutig ist. Hierdurch können Nachrichten ohne Korrelationssatz an eine bestimmte Orchestrierungsinstanz zurückgesendet werden.

Sie können beispielsweise einen empfangenden, selbst korrelierenden direkt gebundenen Port in Orchestrierung A erstellen, indem Sie Direkt für Portbindung angeben und im Portkonfigurations-Assistenten Die Option Selbstkorrelieren auswählen. Anschließend deklarieren Sie in Orchestrierung B einen Port mit dem gleichen Porttyp wie in Orchestrierung A als Sendeport-Orchestrierungsparameter. Führen Sie hierfür folgende Schritte aus:

  1. Klicken Sie im Fenster Orchestrierungsansicht mit der rechten Maustaste auf Orchestrierungsparameter, und klicken Sie dann auf Neuer Portparameter.

  2. Wählen Sie im Eigenschaftenfenster unter Kommunikationsrichtungdie Option Senden aus, und wählen Sie für Porttyp denselben Porttyp aus, der in Orchestrierung A definiert ist.

    Durch diese Deklaration wird auf der Portoberfläche des Orchestrierungs-Designers ein logischer Sendeport erstellt. Orchestrierung A ruft Orchestrierung B mithilfe der Form "Orchestrierung starten " auf und übergibt den neuen Port zusammen mit den anderen Orchestrierungsparametern als Parameter an Orchestrierung B. Orchestrierung B führt dann seine Geschäftslogik aus und sendet eine Nachricht an den neuen Port, der an ihn übergeben wurde. Die Nachricht wird an den direkt gebundenen selbstkorrelierenden Empfangsport der Instanz von Orchestrierung A gesendet, von der Orchestrierung B gestartet wurde.

    Obwohl die vorangehende Abfolge von Ereignissen auch mit einem Aufruforchestrierungs-Shape erfolgen kann, ist dies nur bei Verwendung eines Startorchestrierungs-Shapes sinnvoll. Dies liegt daran, dass bei Verwendung eines Aufruforchestrierungs-Shapes Ports als Verweis übergeben werden. Die Polarität der Ports muss in beiden Orchestrierungen gleich sein. Daher muss die Kommunikationsrichtung des Ports, der von einer Orchestrierung übergeben wird, der Richtung des Portverweises in der aufgerufenen Orchestrierung entsprechen. Bei Verwendung der Form "Orchestrierung starten" wird jedoch eine asynchrone Instanziierung einer Orchestrierung generiert, die keine Out- oder Ref-Parameter aufweisen kann. Daher bietet der sich selbst korrelierende direkt gebundene Port eine Möglichkeit für eine Orchestrierung, auf die Orchestrierung instance, die sie instanziiert haben, zurück zu reagieren.

    Ein Beispiel für die Verwendung selbstkorrelierender direkt gebundener Ports finden Sie im SDK-Beispiel "Implementing Scatter and Gather Pattern" unter https://go.microsoft.com/fwlink/?LinkId=73703.

Weitere Informationen

Verwenden von direkt gebundenen MessageBox-PortsVerwenden von direkt gebundenen Ports für die Partnerorchestrierung