ParallelForEach<T> 클래스

정의

컬렉션의 요소를 열거하고 컬렉션의 각 요소에 대해 포함된 문을 병렬로 실행합니다.

generic <typename T>
public ref class ParallelForEach sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class ParallelForEach<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type ParallelForEach<'T> = class
    inherit NativeActivity
Public NotInheritable Class ParallelForEach(Of T)
Inherits NativeActivity

형식 매개 변수

T

컬렉션에 제공된 값의 형식입니다 Values .

상속
ParallelForEach<T>
특성

예제

다음 코드 샘플에서는 활동을 만드는 방법을 ParallelForEach<T> 보여 줍니다. 이 예제는 회사 구매 프로세스 샘플에서 가져옵니다.

// invite all vendors and wait for their proposals
new ParallelForEach<Vendor>
{
    DisplayName = "Get vendor proposals",
    Values = new InArgument<IEnumerable<Vendor>>(ctx =>this.Rfp.Get(ctx).InvitedVendors),
    Body = new ActivityAction<Vendor>()
    {
        Argument = iterationVariableVendor,
        Handler = new Sequence
        {
            Variables = { tmpValue },
            Activities =
            {
                // waits for a vendor proposal (creates a bookmark for a vendor)
                new WaitForVendorProposal
                {
                    VendorId = new LambdaValue<int>(ctx =>iterationVariableVendor.Get(ctx).Id) ,
                    Result = new OutArgument<double>(tmpValue)
                },

                // after the vendor proposal is received, it is registered in the Request for Proposals
                new InvokeMethod
                {
                    TargetObject = new InArgument<RequestForProposal>(ctx =>this.Rfp.Get(ctx)),
                    MethodName = "RegisterProposal",
                    Parameters =
                    {
                        new InArgument<Vendor>(iterationVariableVendor),
                        new InArgument<double>(tmpValue)
                    }
                },
            }
        }
    }
},

설명

포함된 문은 함께 예약되고 비동기적으로 실행되지만 예약된 활동 자체가 비동기(예: 메시징 활동 InvokeMethod또는 파생된 활동)가 아니면 별도의 스레드에서 AsyncCodeActivity실행되지 않으므로 이전에 예약된 작업이 완료되거나 유휴 상태가 될 때만 각 연속 작업이 실행됩니다. 이 활동의 자식 활동이 비동기이거나 유휴 상태가 아니면 이 작업은 활동과 동일한 방식으로 ForEach<T> 실행됩니다.

생성자

Name Description
ParallelForEach<T>()

클래스의 새 인스턴스를 ParallelForEach<T> 만듭니다.

속성

Name Description
Body

ActivityAction 컬렉션에 포함된 Values 모든 값에 대해 한 번 실행되는 값입니다.

CacheId

워크플로 정의 범위 내에서 고유한 캐시의 식별자를 가져옵니다.

(다음에서 상속됨 Activity)
CanInduceIdle

작업으로 인해 워크플로가 유휴 상태가 될 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 NativeActivity)
CompletionCondition

각 반복이 완료된 후 평가됩니다.

Constraints

에 대한 Constraint유효성 검사를 제공하도록 구성할 수 있는 활동 컬렉션을 Activity 가져옵니다.

(다음에서 상속됨 Activity)
DisplayName

디버깅, 유효성 검사, 예외 처리 및 추적에 사용되는 선택적 친숙한 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Activity)
Id

워크플로 정의의 범위에서 고유한 식별자를 가져옵니다.

(다음에서 상속됨 Activity)
Implementation

활동의 실행 논리입니다.

(다음에서 상속됨 NativeActivity)
ImplementationVersion

활동의 구현 버전을 가져오거나 설정합니다.

(다음에서 상속됨 NativeActivity)
Values

에 포함된 Body활동의 각 반복에 대한 매개 변수로 사용되는 값의 컬렉션입니다.

메서드

Name Description
Abort(NativeActivityAbortContext)

파생 클래스에서 구현되는 경우 중단되는 활동에 대한 응답으로 작업을 수행합니다.

(다음에서 상속됨 NativeActivity)
CacheMetadata(ActivityMetadata)

구현되지 않았습니다. 대신 메서드를 CacheMetadata(NativeActivityMetadata) 사용합니다.

(다음에서 상속됨 NativeActivity)
CacheMetadata(NativeActivityMetadata)

활동의 인수, 변수, 자식 활동 및 활동 대리자의 설명을 만들고 유효성을 검사합니다.

(다음에서 상속됨 NativeActivity)
Cancel(NativeActivityContext)

파생 클래스에서 구현되는 경우 작업을 정상적으로 조기에 완료하도록 논리를 실행합니다.

(다음에서 상속됨 NativeActivity)
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Execute(NativeActivityContext)

파생 클래스에서 구현되는 경우 활동의 실행 논리를 실행합니다.

(다음에서 상속됨 NativeActivity)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

동적 업데이트에 대한 맵을 만들 때 이벤트를 발생합니다.

(다음에서 상속됨 NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

동적 업데이트에 대한 맵을 만들 때 이벤트를 발생합니다.

(다음에서 상속됨 NativeActivity)
ShouldSerializeDisplayName()

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

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

StringId 포함하는 값을 반환합니다 DisplayNameActivity.

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

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

(다음에서 상속됨 NativeActivity)

적용 대상