다음을 통해 공유


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> 실행됩니다.

생성자

ParallelForEach<T>()

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

속성

Body

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

CacheId

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

(다음에서 상속됨 Activity)
CanInduceIdle

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

(다음에서 상속됨 NativeActivity)
CompletionCondition

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

Constraints

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

(다음에서 상속됨 Activity)
DisplayName

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

(다음에서 상속됨 Activity)
Id

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

(다음에서 상속됨 Activity)
Implementation

작업의 실행 논리입니다.

(다음에서 상속됨 NativeActivity)
ImplementationVersion

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

(다음에서 상속됨 NativeActivity)
Values

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

메서드

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()

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

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

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

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

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

(다음에서 상속됨 NativeActivity)

적용 대상