Receive 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
接收訊息的活動。
public ref class Receive sealed : System::Activities::Activity
[System.Windows.Markup.ContentProperty("Content")]
public sealed class Receive : System.Activities.Activity
[<System.Windows.Markup.ContentProperty("Content")>]
type Receive = class
inherit Activity
Public NotInheritable Class Receive
Inherits Activity
- 繼承
- 屬性
範例
下列範例將示範如何建立 Receive 活動並以程式碼的形式,將它加入至工作流程。
Variable<string> message = new Variable<string> { Name = "message" };
Variable<string> echo = new Variable<string> { Name = "echo" };
Receive receiveString = new Receive
{
OperationName = "Echo",
ServiceContractName = "Echo",
CanCreateInstance = true,
//parameters for receive
Content = new ReceiveParametersContent
{
Parameters =
{
{"message", new OutArgument<string>(message)}
}
}
};
Sequence workflow = new Sequence()
{
Variables = { message, echo },
Activities =
{
receiveString,
new WriteLine
{
Text = new InArgument<string>(env =>("Message received: " + message.Get(env)))
},
new Assign<string>
{
Value = new InArgument<string>(env =>("<echo> " + message.Get(env))),
To = new OutArgument<string>(echo)
},
//parameters for reply
new SendReply
{
Request = receiveString,
Content = new SendParametersContent
{
Parameters =
{
{ "echo", new InArgument<string>(echo) }
},
}
},
new WriteLine
{
Text = new InArgument<string>(env =>("Message sent: " + echo.Get(env)))
},
},
};
service = new WorkflowService
{
Name = "Echo",
Body = workflow
};
下列範例將示範如何建立 Receive 活動並以 XAML 的形式,將它加入至工作流程服務。
<WorkflowService mc:Ignorable="sap" ConfigurationName="Service1" Name="Service1" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Xml" xmlns:s3="clr-namespace:System;assembly=System.Core" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System" xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel" xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core" xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sd="clr-namespace:System.Data;assembly=System.Data" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:ssa="clr-namespace:System.ServiceModel.Activities;assembly=System.ServiceModel.Activities" xmlns:st="clr-namespace:System.Text;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<p:Sequence sad:XamlDebuggerXmlReader.FileName="c:\Projects\WFServiceSnippets\WFServiceSnippets\Service1.xamlx" sap:VirtualizedContainerService.HintSize="277,644" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
<p:Sequence.Variables>
<p:Variable x:TypeArguments="CorrelationHandle" Name="__handle1" />
<p:Variable x:TypeArguments="x:String" Name="Message" />
<p:Variable x:TypeArguments="x:String" Name="Echo" />
</p:Sequence.Variables>
<sap:WorkflowViewStateService.ViewState>
<scg3:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
</scg3:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Receive x:Name="__ReferenceID0" CanCreateInstance="True" DisplayName="ReceiveString" sap:VirtualizedContainerService.HintSize="255,90" OperationName="Echo" ServiceContractName="Echo">
<Receive.CorrelationInitializers>
<RequestReplyCorrelationInitializer CorrelationHandle="[__handle1]" />
</Receive.CorrelationInitializers>
<ReceiveParametersContent>
<p:OutArgument x:TypeArguments="x:String" x:Key="message">[Message]</p:OutArgument>
</ReceiveParametersContent>
</Receive>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message received: " + Message]" />
<p:Assign sap:VirtualizedContainerService.HintSize="255,58">
<p:Assign.To>
<p:OutArgument x:TypeArguments="x:String">[Echo]</p:OutArgument>
</p:Assign.To>
<p:Assign.Value>
<p:InArgument x:TypeArguments="x:String">["<echo> " + Message]</p:InArgument>
</p:Assign.Value>
</p:Assign>
<SendReply Request="{x:Reference __ReferenceID0}" DisplayName="SendReply" sap:VirtualizedContainerService.HintSize="255,90">
<SendParametersContent>
<p:InArgument x:TypeArguments="x:String" x:Key="echo">[Echo]</p:InArgument>
</SendParametersContent>
</SendReply>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message sent: " + Echo]" />
</p:Sequence>
</WorkflowService>
備註
Receive 活動可以接收單一項目或多個項目,視所使用的接收內容型別而定。
警告
當工作流程包含多個具有相同作業名稱的 Receive 活動時,CorrelatesOn 屬性必須設定至相同的相互關聯查詢集合。
建構函式
Receive() |
初始化 Receive 類別的新執行個體。 |
屬性
Action |
取得或設定訊息動作標頭的值。 |
CacheId |
取得工作流程定義範圍內的唯一快取識別碼。 (繼承來源 Activity) |
CanCreateInstance |
取得或設定值,指出如果訊息與現有的工作流程執行個體之間不具有相互關聯,是否要建立新的工作流程執行個體來處理該訊息。 |
Constraints |
取得 Constraint 活動的集合,這些活動可以設定為提供 Activity 的驗證。 (繼承來源 Activity) |
Content |
取得或設定要接收的資料。 內容可以是 ReceiveMessageContent 或 ReceiveParametersContent。 |
CorrelatesOn |
取得或設定用於查詢訊息,以擷取相互關聯資料的 MessageQuerySet。 |
CorrelatesWith |
取得或設定相互關聯控制代碼,此控制代碼會用於將訊息路由至適當的工作流程執行個體。 |
CorrelationInitializers |
取得相互關聯初始設定式的集合,這個集合會在執行 Send 活動的情況下初始化以查詢為主的內容、回呼內容或要求-回覆相互關聯。 |
DisplayName |
取得或設定選擇性的易記名稱,這個名稱會用於偵錯、驗證、例外狀況處理及追蹤。 (繼承來源 Activity) |
Id |
取得工作流程定義範圍內的唯一識別碼。 (繼承來源 Activity) |
Implementation |
取得或設定委派,這個委派會傳回包含執行邏輯的 Activity。 (繼承來源 Activity) |
ImplementationVersion |
取得或設定所使用實作的版本。 (繼承來源 Activity) |
KnownTypes |
取得作業之已知型別的集合。 |
OperationName |
取得或設定 Receive 所實作之作業的名稱。 |
ProtectionLevel |
取得或設定值,這個值表示該作業的保護層級。 |
SerializerOption |
取得或設定值,這個值會指定這個作業所使用的序列化程式。 |
ServiceContractName |
取得或設定服務合約的名稱。 |
方法
CacheMetadata(ActivityMetadata) |
建立並驗證活動引數、變數、子活動和活動委派的描述。 (繼承來源 Activity) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
FromOperationDescription(OperationDescription) |
傳回從指定合約作業描述的接收活動。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
建立動態更新對應時引發事件。 (繼承來源 Activity) |
ShouldSerializeCorrelatesOn() |
傳回值,這個值表示 CorrelatesOn 屬性是否已變更為非預設值且應該序列化。 |
ShouldSerializeDisplayName() |
指出是否應序列化 DisplayName 屬性。 (繼承來源 Activity) |
ToString() |
傳回包含 的 和 的 。 (繼承來源 Activity) |