Receive アクティビティ デザイナーは、Receive アクティビティを作成および構成するために使用します。Receive アクティビティは、メッセージ (Message、Stream、XElement などの組み込みの型、アプリケーション定義のデータ コントラクト、メッセージ コントラクト、またはシリアル化可能な XML クラス) を受信するアクティビティです。
Receive アクティビティ
Receive アクティビティでは、使用されている受信コンテンツの型に応じて、単一または複数のアイテムを受信できます。SendReply アクティビティは、サービスでの要求/応答メッセージ交換パターンの一部としてメッセージを受信する Receive アクティビティにバインドできます。
Receive アクティビティ デザイナーの使用
Receive アクティビティ デザイナーは、[ツールボックス] の [メッセージング] カテゴリにあります。[ツールボックス] にアクセスするには、ワークフロー デザイナーの [ツールボックス] タブをクリックします (または、[表示] メニューの [ツール バー] をクリックするか、Ctrl キーと Alt キーを押しながら X キーを押します)。
Receive アクティビティ デザイナーは、[ツールボックス] からドラッグして、アクティビティを通常配置しているワークフロー デザイナー画面の任意の場所にドロップできます。この操作により、Receive という既定の DisplayName を持つ Receive アクティビティが作成されます。DisplayName は、Receive アクティビティ デザイナーのヘッダー、またはプロパティ グリッドの [DisplayName] ボックスで編集できます。
SendReply アクティビティを作成し、選択した Receive アクティビティにバインドするには、Receive アクティビティ デザイナーを右クリックし、コンテキスト メニューの [SendReply の作成] をクリックします。これで、Receive デザイナーの下に SendReplyToReceive デザイナーが表示されます。SendReply アクティビティは、サービスでの要求/応答メッセージ交換パターンの一部として応答メッセージを送信するアクティビティであり、SendReplyToReceive デザイナーで構成できます。
別の方法として、[ツールボックス] の [メッセージング] カテゴリにある ReceiveAndSendReply テンプレート デザイナーを使用して、定義済みの Receive アクティビティと SendReply アクティビティのペアを作成することもできます。ReceiveAndSendReply テンプレートと SendReplyToReceive テンプレートの使用詳細情報、「ReceiveAndSendReply テンプレート デザイナー」を参照してください。
Receive アクティビティのプロパティ
次の表に、Receive のプロパティと、デザイナーでのその使用方法を示します。これらのプロパティは、プロパティ グリッドまたはワークフロー デザイナー画面で編集できます。必須のプロパティは OperationName プロパティのみです。
プロパティ名 | 必須 | 使用法 |
---|---|---|
DisplayName |
省略可 |
Receive アクティビティの表示名を指定します。既定値は Receive です。 既定値以外の DisplayName の使用は必須ではありませんが、使用することをお勧めします。 |
OperationName |
必須 |
この Receive アクティビティによって実装されるサービス操作の名前を指定します。このプロパティは、Action プロパティが明示的に設定されていない場合に、Action プロパティの既定値を構成するために使用します。 |
省略可 |
サービス コントラクトの名前を指定します。このプロパティは、サービス操作を個々のサービス コントラクトにグループ化するために使用します。同じ ServiceContractName を持つすべての Receive アクティビティは、同じサービス コントラクト (WSDL ポートの種類) にグループ化されます。既定値は、トップ レベル (ルート) アクティビティの完全修飾 CLR 名です。 |
|
省略可 |
受信するメッセージまたはパラメーターの内容を指定します。ReceiveMessageContent アクティビティまたは ReceiveParametersContent アクティビティを指定できます。このプロパティを編集するには、プロパティ グリッドで [Content] フィールドの横にある省略記号ボタンをクリックするか、Receive アクティビティ デザイナー画面で "コンテンツ" というラベルの横にある [定義] ボタンをクリックします。どちらの手順でも、[コンテンツ定義] ダイアログ ボックスが表示されます。このダイアログ ボックスの使用方法詳細情報、「[コンテンツ定義] ダイアログ ボックス」を参照してください。 |
|
省略可 |
MessageQuerySet オブジェクトを持つワークフローのサービス操作における Receive アクティビティ間の相関関係を指定します。プロパティ グリッドで CorrelatesOn プロパティの横にある省略記号ボタンをクリックして、[CorrelatesOn の定義] ダイアログ ボックスを開きます。このダイアログ ボックスの使用詳細情報、「[コンテンツ定義] ダイアログ ボックス」を参照してください。 |
|
省略可 |
適切なワークフロー インスタンスにメッセージをルーティングするために使用される CorrelationHandle を指定します。 プロパティ グリッドで CorrelatesWith プロパティの横にある省略記号ボタンをクリックして、[式エディター] ダイアログ ボックスを開きます。このダイアログ ボックスの使用詳細情報、「式エディターを使用する方法」を参照してください。 |
|
省略可 |
ワークフロー内のこの Receive アクティビティを構成する複数の CorrelationHandle オブジェクトを初期化する CorrelationInitializer オブジェクトのコレクションを指定します。プロパティ グリッドで CorrelationInitializers プロパティの横にある省略記号ボタンをクリックして、[関連付け初期化子の追加] ダイアログ ボックスを開きます。このダイアログ ボックスの使用詳細情報、「[関連付け初期化子の追加] ダイアログ ボックス」を参照してください。 |
|
省略可 |
メッセージが既存のワークフロー インスタンスと関連付けられていない場合に、新しいワークフロー インスタンスを作成して、このメッセージを処理するかどうかを決定する値を指定します。この値を true に設定すると、メッセージが既存のワークフロー インスタンスと関連付けられていない場合は、新しいワークフロー インスタンスを作成して、このメッセージを処理します。 |
|
省略可 |
この Receive アクティビティによって実装されるサービス操作の既知の型のコレクションを指定します。このプロパティは、DataContractSerializer に設定された SerializerOption プロパティと共に使用する必要があり、XmlSerializer が使用されている場合は無視されます。 プロパティ グリッドで [KnownTypes] フィールドの横にある省略記号ボタンをクリックして、[型コレクション エディター] ダイアログ ボックスを開きます。このダイアログ ボックスで、該当する型を追加できます。このダイアログ ボックスの使用詳細情報、「[型コレクション エディター] ダイアログ ボックス」を参照してください。 |
|
省略可 |
メッセージの ProtectionLevel を指定します。
|
|
SerializerOption |
省略可 |
Receive アクティビティによって実装されるサービス操作に使用するシリアライザーの型を指定します。既定値は DataContractSerializer です。この場合、ある型のインスタンスが、提供されたデータ コントラクトを使用する XML ストリームまたはドキュメントへとシリアル化または逆シリアル化されます。XML をより厳密に制御する必要がある場合は、XmlSerializer も使用できます。 |
省略可 |
メッセージのアクション ヘッダーを指定します。これを明示的に設定しない場合は、既定値の |
参照
概念
InitializeCorrelation アクティビティ デザイナー
CorrelationScope アクティビティ デザイナー
ReceiveAndSendReply テンプレート デザイナー
Send アクティビティ デザイナー
SendAndReceiveReply テンプレート デザイナー
TransactedReceiveScope アクティビティ デザイナー