共用方式為


如何設定接收圖形

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

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

備註

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

備註

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

備註

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

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

接收圖形啟動 True

如果您預期會收到先前傳送的訊息的間接或異步回應(而非在要求-回應埠上),您需要將該訊息與目前運行的業務流程實例相關聯,這樣回應者才能將回應發送到正確的實例。 如果您打算對傳入訊息中的值進行後續關聯,您可以將初始化的關聯集套用至 Receive 圖形;或者,您可以使用先前初始化的關聯集來進行後續的關聯。 如需詳細資訊,請參閱 在協調流程中使用相互關聯

設定接收圖形

  1. 設定訊息與埠的操作。

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

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

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

      —或—

      將接收連接器從 [接收 ] 圖形拖曳至將接收訊息的埠套接字。

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

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

    1. 在 [屬性] 視窗中,按兩下 [篩選表示式] 屬性的 省略號...) 按鈕,以建立篩選條件來限制此 接收 圖形所接受的訊息。

      —或—

      以滑鼠右鍵點擊接收圖形,然後點擊編輯篩選表示式

    2. [ 篩選表達式] 對話框隨即出現。 使用此對話框來建立一或多個篩選表達式。

      備註

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

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

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

    • 針對您想要初始化的每個關聯集,請從 初始化關聯集 屬性的下拉式選單中選擇關聯集。

篩選表達式方格控件

您可以使用這個方格控件來定義構成表達式的述詞,以建置篩選表達式。 您可以從網格的儲存格中新增、編輯和刪除謂詞。 此方格控件有四個數據行:屬性、運算符、值和群組。

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

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

    操作數 意義
    == 等於
    != 不等於
    < 小於
    <= 小於或等於
    > 大於
    >= 大於或等於
    存在 存在
  • 價值。 Value 欄位中的儲存格可以包含您輸入的任何常數:字串常值、整數常值或空值。

    備註

    如果選取的屬性屬於字串類型,則值必須以引號括住。 例如,SMTP。From = “MyServer”。

  • 分組。 使用此欄位來控制述詞群組。 篩選表達式一律以分離法線形式 (DNF) 表示,因此可以自動判斷群組。 AND 表示述詞要與之後的述詞分組,而 OR 表示述詞與下一個數據列中的述詞分開。 當謂詞被群組在一起時,網格控件左邊會出現灰色括號。 述詞群組無法巢狀化。 如果您未在此儲存格中指定值,則儲存格的值預設為 AND。

    例如,您可以建立如下的表達式:

    MSMQ.MsgID = 1

    使用此篩選器時,傳送埠群組只會訂閱 MSMQ 訊息識別碼為 1 的訊息。

    您可以建立其他運算式,並指定它們與其他運算式有 AND 或 OR 關聯性,例如:

    MSMQ.MsgID = 1 OR

    SMTP.From = "MyServer"

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

提示標籤

此欄位提供使用者指引。 標籤文字會根據包含目前儲存格的欄而變更。 文字會顯示欄位名稱,然後是指引文字,如下所示:

  • 財產。 請從清單中選取傳入訊息上的屬性。

  • 算子。 選取運算符來比較 Property 與 Value。

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

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

上移按鈕

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

下移按鈕

按下此選項,將選取的數據列向下移動。 (首先,點擊網格控制項左側的 右箭號 (>) 按鈕,來選取資料列。)

篩選表達式建立欄位

此只讀文字框會在您建置表示式時顯示表達式。

本節中

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