共用方式為


如何使用自我相互關聯的直接繫結連接埠

自我相互關聯的直接繫結連接埠是自我參考的。 這代表自我相互關聯的直接繫結連接埠會提供資訊,供協調流程將訊息傳回包含它的協調流程。 使用自我相互關聯的直接繫結時,協調流程引擎會在協調流程執行個體特定的訊息上產生相互關聯 Token。 這樣就可以將訊息傳回特定的協調流程執行個體,而不需使用相互關聯集合。

例如,您可以在協調流程 A 中指定 Direct 進行 埠系結 ,然後選取 [埠設定精靈] 中的 [ 自我相互 關聯],來建立接收自我關聯直接系結埠。 然後在「協調流程 B」中,將連接埠宣告為「協調流程 A」所定義之相同連接埠類型的傳送埠協調流程參數。若要執行這項作業,請進行下列步驟:

  1. 在 [協調流程檢視] 視窗中,以滑鼠右鍵按一下 [ 協調流程參數],然後按一下 [ 新增埠參數]。

  2. 在 [屬性視窗] 中,針對 [通訊方向] 選取 [傳送],然後針對 [埠類型],選取與協調流程 A 中所定義的相同埠類型。

    此宣告會在協調流程Designer的埠 Surface 上建立邏輯傳送埠。 協調流程 A 會使用 「開始協調流程 」圖形呼叫 Orchestration B,並將新埠當做參數傳遞至協調流程 B。協調流程 B 接著會執行其商務邏輯,並在傳遞至它的新埠上傳送訊息。 該訊息會傳送到「協調流程 A」執行個體的接收端自我相互關聯直接繫結連接埠 (「協調流程 A」即為啟動「協調流程 B」的協調流程)。

    雖然上述事件序列也可以使用 呼叫協調流程 圖形來完成,但只有在使用 開始協調流程 圖形時才有意義。 這是因為使用 呼叫協調流程 圖形時,埠會以傳址方式傳遞。 兩個協調流程都必須具有相同的連接埠極性。 因此,您從一個協調流程進行傳遞時所使用的連接埠通訊方向,必須與所呼叫之協調流程中的連接埠參考方向相同。 不過,使用 開始協調流程 圖形時,會產生協調流程的非同步具現化,而且不能有 OutRef 參數;因此,自我關聯直接系結埠提供一種方式,讓協調流程回應具現化的協調流程實例。

    如需如何使用自我關聯直接系結埠的範例,請參閱 上的 https://go.microsoft.com/fwlink/?LinkId=73703 SDK 範例「實作散佈圖和收集模式」。

另請參閱

如何使用 MessageBox 直接系結埠如何使用合作夥伴協調流程直接系結埠