다음을 통해 공유


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를 만드는 방법을 보여 줍니다. 이 예제에서는 a를 Sequence 만들고 (다른 활동 중) 추가 CorrelationScope 합니다. 여기에는 CorrelationScope a SequenceReceiveReply 활동으로 구성된 해당 Send 항목이 포함됩니다.

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 속성을 serialize해야 하는지 여부를 나타냅니다.

ShouldSerializeDisplayName()

DisplayName 속성을 serialize해야 하는지 여부를 나타냅니다.

(다음에서 상속됨 Activity)
ToString()

StringIdDisplayName을 포함하는 Activity을 반환합니다.

(다음에서 상속됨 Activity)
UpdateInstance(NativeActivityUpdateContext)

NativeActivity의 인스턴스를 업데이트합니다.

(다음에서 상속됨 NativeActivity)

적용 대상