次の方法で共有


CorrelationScope クラス

定義

子メッセージング アクティビティを管理する暗黙的な 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

CorrelationScope を作成する方法を次のコード サンプルに示します。 この例では、 を Sequence 作成し、 を追加 CorrelationScope します (他のアクティビティの中でも)。 CorrelationScope には、SequenceSend の各アクティビティで構成される 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)

メソッド

Abort(NativeActivityAbortContext)

派生クラスで実装された場合、中止中のアクティビティに反応してアクションを実行します。

(継承元 NativeActivity)
CacheMetadata(ActivityMetadata)

実装されていません。 代わりに、CacheMetadata(NativeActivityMetadata) メソッドを使用してください。

(継承元 NativeActivity)
CacheMetadata(NativeActivityMetadata)

アクティビティの引数、変数、子アクティビティ、およびアクティビティ デリゲートの記述を構築および検証します。

Cancel(NativeActivityContext)

派生クラスで実装された場合、ロジックを実行してアクティビティを早期に正常に完了します。

(継承元 NativeActivity)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Execute(NativeActivityContext)

CorrelationScope アクティビティを実行するために、ワークフロー ランタイムが呼び出します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

動的な更新のマップを作成するとイベントが発生します。

(継承元 NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

動的な更新のマップを作成するとイベントが発生します。

(継承元 NativeActivity)
ShouldSerializeCorrelatesWith()

CorrelatesWith プロパティをシリアル化する必要があるかどうかを示します。

ShouldSerializeDisplayName()

DisplayName プロパティをシリアル化する必要があるかどうかを示します。

(継承元 Activity)
ToString()

StringId および DisplayName を含む Activity を返します。

(継承元 Activity)
UpdateInstance(NativeActivityUpdateContext)

NativeActivity のインスタンスを更新します。

(継承元 NativeActivity)

適用対象