共用方式為


如何在協調流程中建立角色連結

以下是您要在協調流程中使用角色連結時所需完成的基本工作:

  • 建立合作對象與傳送埠,並將它們彼此關聯。

  • 請使用下列程序來建立角色連結類型及新增連接埠類型。

    建立角色連結類型
    1.在 [協調流程檢視] 視窗中,展開 [ 類型],以滑鼠右鍵按一下 [ 角色連結類型],然後按一下 [ 新增角色連結類型]。
    2.按一下您剛才建立的角色連結類型。 在屬性視窗的 [識別碼]欄位中,輸入 Provider_Consumer_RoleLinkType
    3.展開 Provider_Consumer_RoleLinkType,然後按一下 [Role_1]。 在屬性視窗的 [識別碼]欄位中,輸入 ConsumerRole
    4.以滑鼠右鍵按一下 [ ConsumerRole],然後按一下 [ 新增埠類型]。 如此便可啟動「連接埠類型精靈」。
    5.在 [ 歡迎使用埠類型精靈 ] 頁面上,按 [ 下一步]。
    6.在 [ 選取埠類型] 或建立新的 [埠類型 ] 頁面上,選取 [ 建立新的埠類型],然後針對 [ 埠類型名稱] 輸入 ConsumerPortType
    7.針對 通訊模式,選取 [單向],針對 [ 存取限制],選取 [ 公用 - 無限制]。 按一下 [下一步]。
    8.在 [ 正在完成埠精靈 ] 頁面上,按一下 [ 完成]。
    9.以滑鼠右鍵按一下 [Provider_Consumer_RoleLinkType],然後按一下 [ 新增角色]。
    10.按一下[Role_1],然後在 [識別碼] 欄位中的[屬性視窗] 中輸入 ProviderRole
    11.以滑鼠右鍵按一下 [ProviderRole],然後按一下 [ 新增埠類型]。 如此便可啟動「連接埠類型精靈」。
    12.在 [ 歡迎使用埠類型精靈 ] 頁面上,按 [ 下一步]。
    13.在 [ 選取埠類型] 或建立新的 [埠類型 ] 頁面上,選取 [建立新的埠類型],然後針對 [ 埠類型名稱] 輸入 ProviderPortType
    14.針對 通訊模式,選取 [單向],針對 [ 存取限制],選取 [ 公用 - 無限制]。 按一下 [下一步]。
    15.在 [ 正在完成埠精靈 ] 頁面上,按一下 [ 完成]。 注意: 位於角色連結內部的已設定埠不會保留其相關聯的系結資訊。

    在前面的程序中,您建立了包含兩個角色的角色連結類型,分別是會接收及處理取用者傳來之訊息的 ProviderRole,以及您的協調流程將使用隨角色提供之傳送埠來傳送訊息給取用者的 ConsumerRole。

注意

角色連結類型可以包含提供者角色和取用者角色,而且可以包含任一個角色,或兩種角色各一個 (視您的商務程序需求而定)。

  • 使用下列程序,將角色連結新增至您的協調流程。

    若要使用角色連結精靈建立角色連結
    1.在協調流程工具箱中,將 [角色連結 ] 圖形拖曳至設計介面。 如此便可啟動「角色連結精靈」。
    2. 在 [ 歡迎使用角色連結精靈 ] 頁面上,按 [ 下一步]。
    3.在 [ 角色連結名稱 ] 頁面上的 [ 名稱 ] 欄位中,輸入 Provider_Consumer 。 按一下 [下一步]。
    4.在 [ 角色連結類型 ] 頁面上,選取 [使用現有的角色連結類型]。 在 [ 角色連結類型名稱] 下拉式清單中,選取 [Provider_Consumer_RoleLinkType]。 按一下 [下一步]。
    5.在 [ 角色識別 ] 頁面上,從哪個角色中選取 [ProviderRole ], 此協調流程將實作以接收及處理來自合作夥伴的訊息? 下拉式清單。 精靈會自動選取 [此協調流程的ConsumerRole] 會使用下列角色,將訊息傳送至角色內部埠上的合作夥伴。 按一下 [下一步]。
    6.在 [ 角色連結使用方式 ] 頁面上,選取 [我將會傳送第一則訊息給合作夥伴的角色]。 按一下 [完成] 。

    在前面的程序中,您已進一步將 ConsumerRole 定義為初始角色。 . 這表示您的協調流程會透過 ConsumerRole 所提供的連接埠將第一個訊息傳送給取用者,然後 ProviderRole 會接收從取用者所傳回的訊息,以做進一步的處理。

    注意

    如果角色連結類型中只有一個角色,您必須選取 [ 提供者角色]:我會收到第一則訊息 或「取用者角色」,以在商務程式中定義您的角色 :我將會傳送第一則訊息 ,而不是在上述程式中執行步驟 5。

  • 設計您的商務程序。 您可以利用相互關聯集合來確保內送訊息與適當的協調流程執行個體是相符的。

  • 將埠與 傳送接收 圖形產生關聯。 此外,請執行下列動作:

    • 如果起始角色是傳送訊息的取用者,請明確地將 DestinationParty 屬性設定為 (一次,而且只會在協調流程中) 一次。 若要這樣做,請在運算式圖形中設定DestinationParty的值,如下列範例所示,其中 ConfirmOrder 是角色連結的名稱,而 PartnerName 和 OrganizationName 是合作物件的參數:

      ConfirmOrder(Microsoft.XLANGs.BaseTypes.DestinationParty) = new Microsoft.XLANGs.BaseTypes.Party("PartnerName", "OrganizationName");
      
    • 如果起始角色是接收訊息的提供者,接收者會自動初始化 DestinationParty 屬性。 DestinationParty會設定為提供者本身。 SourceParty屬性是唯讀的,而且是透過信任的管線元件提供,以根據傳送者的安全性識別碼 (SID) 或與合作物件相關聯的憑證來解析合作物件名稱。 執行管線元件的主機必須標示為 驗證信任。 您可以使用下列範例程式碼,在運算式圖形中取得SourceParty的值:

      PartyName = Buyer_Supplier(Microsoft.XLANGs.BaseTypes.SourceParty);
      

另請參閱

在協調流程中使用角色連結如何使用角色連結圖形如何使用角色連結精靈