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