Receive 活動設計工具
[Receive] 活動設計工具會用來建立及設定 Receive 活動。 Receive 活動是接收訊息的活動,該訊息可能是內建的型別 (例如 Message、Stream 或 XElement),或是應用程式定義的資料合約、訊息合約或可序列化的 XML 類別。
Receive 活動
Receive 活動可以接收單一項目或多個項目,視所使用的接收內容型別而定。 SendReply 活動可以繫結至 Receive 活動,而後者會接收服務上做為要求/回應訊息交換模式的一部分之訊息。
使用 Receive 活動設計工具
[Receive] 活動設計工具位於 [工具箱] 的 [傳訊] 類別中,若要存取,請按一下 Workflow Designer 上的 [工具箱] 索引標籤 (也可以從 [檢視] 功能表選取 [工具列],或是按 CTRL+ALT+X)。
[Receive] 活動設計工具可以從 [工具箱] 拖曳出來,放到 Workflow Designer 介面上通常用來放置活動的任一處。 這會建立一個 Receive 活動,具有 Receive 的預設 DisplayName。 DisplayName 可以在 [Receive] 活動設計工具的標頭中編輯,或是在屬性方格的 [DisplayName] 方塊中編輯。
若要建立 SendReply 活動並繫結至選取的 Receive 活動,請以滑鼠右鍵按一下 [Receive] 活動設計工具,然後按一下內容功能表中的 [建立 SendReply] 項目,[Receive] [設計工具下方就會出現 [SendReplyToReceive] 設計工具。 SendReply 活動會傳送回覆訊息,而這屬於服務上要求/回應訊息交換模式的一部分。 這可以使用 [SendReplyToReceive] 設計工具加以設定。
另外,也可以使用 [工具箱] 中 [傳訊] 類別的 [ReceiveAndSendReply] 範本設計工具,建立一對預先設定的 Receive 與 SendReply 活動。 如需詳細資訊以進一步了解 ReceiveAndSendReply 和 SendReplyToReceive 範本的用法,請參閱 ReceiveAndSendReply 樣板設計工具 主題。
Receive 活動屬性
下表顯示 Receive 屬性,並且描述屬性在設計工具中的使用方式。 這些屬性可以在屬性方格中或在 Workflow Designer 介面上編輯。 唯一必要的屬性是 OperationName 屬性。
屬性名稱 |
必要項 |
使用方式 |
---|---|---|
False |
指定 Receive 活動的易記名稱。 預設值是 Receive。 雖然不是必須使用非預設值做為易記 DisplayName,但建議您盡量使用這類型的值。 |
|
True |
指定這個 Receive 活動實作之服務作業的名稱。 這個屬性會用於建構 Action 屬性的預設值 (如果尚未明確設定 Action 屬性)。 |
|
False |
指定服務合約的名稱。 這個屬性會用於將服務作業群組為個別的服務合約。 具有相同 ServiceContractName 的所有 Receive 活動,都會分組歸類到同一個服務合約 (WSDL 連接埠類型)。 預設值是最上層 (根) 活動的完整 CLR 名稱。 |
|
False |
指定要接收的訊息或參數內容。 這可以是 ReceiveMessageContent 活動或 ReceiveParametersContent 活動。 若要編輯此屬性,請按一下屬性方格中 [內容] 欄位旁邊的橢圓形按鈕,或是按一下 [Receive] 活動設計工具介面上 [內容] 標籤旁邊的 [定義] 按鈕。 兩者都顯示 [內容定義] 對話方塊。 如需詳細資訊以進一步了解如何使用此方塊,請參閱 內容定義對話方塊 主題。 |
|
False |
指定某個具有 MessageQuerySet 物件之工作流程的服務作業中,不同 Receive 活動之間的相互關聯。 按一下屬性方格中 CorrelatesOn 屬性旁邊的省略符號按鈕,以開啟 [CorrelatesOn 定義] 對話方塊。 如需詳細資訊以進一步了解此對話方塊的用法,請參閱 內容定義對話方塊 主題。 |
|
False |
指定用來路由訊息到適當工作流程執行個體的 CorrelationHandle。 按一下屬性方格中 CorrelatesWith 屬性旁邊的省略符號按鈕,以開啟 [運算式編輯器] 對話方塊。 如需詳細資訊以進一步了解此對話方塊的用法,請參閱 HOW TO:使用運算式編輯器 主題。 |
|
False |
指定 CorrelationInitializer 物件的集合,這些物件會初始化多個 CorrelationHandle 物件,用來設定工作流程內的這個 Receive 活動。 按一下屬性方格中 CorrelationInitializers 屬性旁邊的省略符號按鈕,以開啟 [新增相互關聯初始設定式] 對話方塊。 如需詳細資訊以進一步了解如何使用此方塊,請參閱 加入相互關聯初始設定式對話方塊 主題。 |
|
False |
指定值,這個值會判斷如果訊息與現有的工作流程執行個體之間不具有相互關聯,是否要建立新的工作流程執行個體來處理該訊息。 如果這個值設定為 true,若訊息與現有的工作流程執行個體之間沒有相互關聯,就會建立新的工作流程執行個體來處理該訊息。 |
|
False |
指定這個 Receive 活動實作服務作業之已知型別的集合。 這個屬性應該搭配 SerializerOption 屬性 (設定為 DataContractSerializer) 使用。 如果使用 XmlSerializer,則會忽略此項。 按一下屬性方格中 [KnownTypes] 欄位旁邊的橢圓形按鈕,以顯示 [型別集合編輯器] 對話方塊,可用來加入相關型別。 如需詳細資訊以進一步了解如何使用此方塊,請參閱 型別集合編輯器對話方塊 主題。 |
|
False |
指定訊息的 ProtectionLevel。
|
|
False |
指定 Receive 活動實作服務作業之序列化程式的型別。 預設值是 DataContractSerializer,這會使用提供的資料合約,將型別的執行個體序列化及還原序列化,成為 XML 資料流或文件。 如果 XML 需要更多控制,也可以使用 XmlSerializer。 |
|
False |
指定訊息的動作標頭。 如果沒有明確設定,其值會預設為:https://tempuri.org/{服務合約命名空間}/{服務合約名稱}/{作業名稱}。 |