共用方式為


如何設定接收圖形

代表接收圖形的影像。
接收圖形

接收圖形可用來啟動協調流程。 如果您將 Activate 屬性設定為 True,執行時間引擎會測試傳入訊息,以查看它是否為正確的類型,以及是否已套用篩選準則,是否滿足篩選運算式。 如果符合接收訊息的準則,執行時間引擎會建立並執行新的協調流程實例,而 接收 圖形會接收訊息。

注意

如果 Receive 圖形的 Activate 屬性設定為 True, 則 Receive 必須是協調流程中的第一個動作。

注意

如果所有接收圖形上的Activate屬性設定為 False,則必須由另一個協調流程呼叫您的協調流程,才能執行。

注意

如果您在將Activate屬性設定為True的範圍內放置Receive圖形,然後將 .NET 類別變數新增至協調流程,而不將變數的Use Default 建構函式屬性變更為False,則 activate receive 語句將會超出產生的 XLANG/S 程式碼中的範圍,但設計介面會繼續顯示為在範圍內。

每個協調流程都必須至少有一個 Receive 圖形,且 Activate 屬性設定為 True

接收圖形啟動 True

若您預期收到您已送出之訊息的間接或非同步回應 (不使用要求-回應連接埠),則需要將訊息與目前正在執行的協調流程執行個體建立相互關聯,讓回應者能將回應送給正確的執行個體。 如果您打算對傳入訊息中的值執行後續相互關聯,或下列相互關聯集,以使用先前初始化的相互關聯集相互關聯,您可以將初始化相互關聯集套用至 Receive 圖形。 如需詳細資訊,請參閱 在協調流程中使用相互關聯

設定接收圖形

  1. 設定訊息和連接埠作業。

    1. 在 [協調流程檢視] 視窗中,確認您的協調流程已經為接收的訊息類型,定義訊息和連接埠作業。

      在屬性視窗中,選取要從[訊息] 屬性下拉式清單中接收的訊息。

    2. 在屬性視窗中,選取埠作業以從[作業] 下拉式清單中接收訊息。

      —或—

      將接收連接器從 接收圖形拖 曳至將接收訊息的埠通訊端。

  2. 指定 [接收 ] 圖形將會啟動協調流程。

  3. 在 [屬性] 視窗中,將 [啟動] 屬性設定為 True。

    1. 在屬性視窗中,按一下 [篩選運算式] 屬性的省略號 (...) 按鈕,以建立篩選準則來限制這個接收圖形接受的訊息。

      —或—

      以滑鼠右鍵按一下 [接收 ] 圖形,然後按一下 [編輯篩選運算式]。

    2. [ 篩選運算式 ] 對話方塊隨即出現。 使用此對話方塊來建立一或多個篩選條件運算式。

      注意

      訊息類型必須定義並指派給 接收 圖形,才能將篩選套用至該圖形。

  4. 指定相互關聯集來限制 接收 圖形接受的訊息。

    • 針對您想要追蹤的每個相互關聯集,從 [下列相互關聯集 ] 屬性的下拉式清單中檢查相互關聯集。

    • 針對您想要初始化的每個相互關聯集,從 [ 初始化相互關聯集 ] 屬性的下拉式清單中檢查相互關聯集。

篩選條件運算式格線控制項

您可以使用此格線控制項定義構成運算式的述詞,以建置篩選條件運算式。 您可以在格線的儲存格中新增、編輯和刪除述詞。 此方格控制項有四個數據行:屬性、運算子、值和群組。

  • 屬性。 您可以輸入屬性參考,或從儲存格的下拉式清單中選取一個屬性。 該清單包含內送訊息的屬性。

  • 運算子。 您可以在此儲存格輸入運算子,或從下拉式清單中選取運算子。 可能的選項為:

    運算元 意義
    == 等於
    != 不等於
    < 小於
    <= 小於或等於
    > 大於
    >= 大於或等於
    Exists Exists
  • 值。 Value資料行中的儲存格可以保存您輸入的任何常數:string-literal、integer-literal 或 null。

    注意

    如果所選取屬性的類型為字串,該值必須在引號中。 例如,SMTP.From = "MyServer"。

  • 群組。 您可以使用此欄來控制述詞群組。 篩選條件運算式一律以 DNF (Disjunctive Normal Form) 來表示,以便自動決定群組。 [AND] 表示將述詞和其後的述詞群組起來,而 [OR] 表示述詞和下一列的述詞是分開的。 當述詞組成群組時,格線控制項左邊會出現灰色中括弧。 述詞無法組成巢狀群組。 若未在此儲存格中指定值,儲存格的預設值為 AND。

    例如,您可能建立如下的運算式:

    MSMQ.MsgID = 1

    依照這個篩選條件,傳送埠群組將只能訂閱 MSMQ 訊息識別碼為 1 的訊息。

    您可以建立額外的運算式,並指定這些運算式與其他運算式之間有 AND 或 OR 關係,例如:

    MSMQ.MsgID = 1 OR

    SMTP.From = "MyServer"

    在此例中,傳送埠群組將會訂閱 MSMQ 訊息識別碼為 1 的或從名為 MyServer 的 SMTP 伺服器所傳送的所有訊息。

提示標籤

此欄位會指引使用者。 標籤文字會隨著包含作用中儲存格的資料行改變。 此文字會顯示資料行名稱,後面接著引導文字,如下所示:

  • 屬性。 請從清單選取內送訊息上的屬性。

  • 運算子。 選取運算子,以進行 [屬性] 與 [值] 的比較。

  • 值。 從清單選取訊息屬性,或輸入常值。

  • 群組。 指定此列如何與下一列群組在一起。 'AND' 將會聯結資料列,而 'OR' 會分開它們。

[上移] 按鈕

按一下此按鈕,將選取的列上移 (按一下格線控制項左側的向右箭 () >按鈕,先選取資料列。)

[下移] 按鈕

按一下此按鈕,將選取的列下移 (按一下格線控制項左側的向右箭 () >按鈕,先選取資料列。)

建立的篩選條件運算式欄位

這個唯讀文字方塊會在您建立運算式時顯示它。

本節內容

搭配使用篩選與接收訊息圖形