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
};
次の例では、XAML で Receive アクティビティを作成してワークフロー サービスに追加する方法を示します。
<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 |
アクティビティの実行との関連付け (クエリベース、コンテキスト、コールバック コンテキスト、または要求/応答の関連付け) を初期化する関連付け初期化子のコレクションを取得します。 |
DisplayName |
デバッグ、検証、例外処理、および追跡に使用する省略可能な表示名を取得または設定します。 (継承元 Activity) |
Id |
ワークフロー定義のスコープ内で一意である識別子を取得します。 (継承元 Activity) |
Implementation |
実行ロジックを含む Activity を返すデリゲートを取得または設定します。 (継承元 Activity) |
ImplementationVersion |
使用される実装のバージョンを取得または設定します。 (継承元 Activity) |
KnownTypes |
操作の既知の型のコレクションを取得します。 |
OperationName |
Receive によって実装される操作の名前を取得または設定します。 |
ProtectionLevel |
操作の保護レベルを示す値を取得または設定します。 |
SerializerOption |
この操作に使用するシリアライザーを指定する値を取得または設定します。 |
ServiceContractName |
サービス コントラクトの名前を取得または設定します。 |
メソッド
CacheMetadata(ActivityMetadata) |
アクティビティの引数、変数、子アクティビティ、およびアクティビティ デリゲートの記述を作成および検証します。 (継承元 Activity) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FromOperationDescription(OperationDescription) |
特定のコントラクト操作の説明から receive アクティビティを返します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
動的な更新のマップを作成するとイベントが発生します。 (継承元 Activity) |
ShouldSerializeCorrelatesOn() |
CorrelatesOn プロパティが既定値から変更されたためにシリアル化する必要があるかどうかを示す値を返します。 |
ShouldSerializeDisplayName() |
DisplayName プロパティをシリアル化する必要があるかどうかを示します。 (継承元 Activity) |
ToString() |
String の Id および DisplayName を含む Activity を返します。 (継承元 Activity) |
適用対象
こちらもご覧ください
.NET