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