CorrelationScope クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
子メッセージング アクティビティを管理する暗黙的な CorrelationHandle を提供します。
public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
- 継承
例
CorrelationScope を作成する方法を次のコード サンプルに示します。 この例では、 を Sequence 作成し、 を追加 CorrelationScope します (他のアクティビティの中でも)。 CorrelationScope には、Sequence と Send の各アクティビティで構成される ReceiveReply が含まれています。
return new Sequence
{
Variables = { po, customer },
Activities =
{
new Assign<PurchaseOrder>
{
To = po,
Value = new InArgument<PurchaseOrder>( (e) => new PurchaseOrder() { PartName = "Widget", Quantity = 150 } )
},
new Assign<Customer>
{
To = customer,
Value = new InArgument<Customer>( (e) => new Customer() { Id = 12345678, Name = "John Smith" } )
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Submitting new PurchaseOrder for {0} {1}s", po.Get(e).Quantity, po.Get(e).PartName) ) },
new CorrelationScope
{
Body = new Sequence
{
Activities =
{
submitPO,
new ReceiveReply
{
Request = submitPO,
Content = ReceiveContent.Create(new OutArgument<int>( (e) => po.Get(e).Id ))
}
}
}
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Received ID for new PO: {0}", po.Get(e).Id) ) },
new Assign<int> { To = new OutArgument<int>( (e) => po.Get(e).Quantity ), Value = 250 },
new WriteLine { Text = "Updated PO with new quantity: 250. Resubmitting updated PurchaseOrder based on POId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdatePOName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Assign<int>
{
To = new OutArgument<int>( (e) => po.Get(e).CustomerId ),
Value = new InArgument<int>( (e) => customer.Get(e).Id )
},
new WriteLine { Text = "Updating customer data based on CustomerId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.AddCustomerInfoName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdateCustomerName,
Content = SendContent.Create(new InArgument<Customer>(customer))
},
new WriteLine { Text = "Client completed." }
}
};
注釈
CorrelationScope アクティビティは、子アクティビティのみに表示される暗黙的な CorrelationHandle を管理します。 CorrelatesWith プロパティは、ユーザーによって設定された場合、暗黙的な CorrelationScope ハンドルとして使用されます。 CorrelationScope が入れ子になっていると、内側のスコープの子は外側のスコープの暗黙的なハンドルにアクセスできません。
コンストラクター
CorrelationScope() |
CorrelationScope クラスの新しいインスタンスを初期化します。 |
プロパティ
Body |
アクティビティの実行ロジックを取得または設定します。 |
CacheId |
ワークフロー定義のスコープ内で一意であるキャッシュの識別子を取得します。 (継承元 Activity) |
CanInduceIdle |
アクティビティがワークフローのアイドル状態を引き起こすことができるかどうかを表す値を取得または設定します。 (継承元 NativeActivity) |
Constraints |
Constraint に検証を提供するよう構成できる Activity アクティビティのコレクションを取得します。 (継承元 Activity) |
CorrelatesWith |
子メッセージング アクティビティによって使用される CorrelationHandle を取得または設定します。 |
DisplayName |
デバッグ、検証、例外処理、および追跡に使用する省略可能な表示名を取得または設定します。 (継承元 Activity) |
Id |
ワークフロー定義のスコープ内で一意である識別子を取得します。 (継承元 Activity) |
Implementation |
アクティビティの実行ロジック。 (継承元 NativeActivity) |
ImplementationVersion |
アクティビティの実装バージョンを取得または設定します。 (継承元 NativeActivity) |
メソッド
適用対象
.NET