ParallelForEach<T> Osztály

Definíció

A gyűjtemény elemeinek számbavétele és beágyazott utasítás végrehajtása a gyűjtemény minden eleméhez párhuzamosan.

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ípusparaméterek

T

A gyűjteményben Values megadott értékek típusa.

Öröklődés
ParallelForEach<T>
Attribútumok

Példák

Az alábbi kódminta egy ParallelForEach<T> tevékenység létrehozását mutatja be. Ez a példa a vállalati vásárlási folyamat mintájából származik.

// 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)
                    }
                },
            }
        }
    }
},

Megjegyzések

A beágyazott utasítások egymáshoz vannak ütemezve, és aszinkron módon futnak, de ha maguk az ütemezett tevékenységek nem aszinkronok (például üzenetkezelési tevékenységek, InvokeMethodvagy ezekből AsyncCodeActivityszármazó tevékenységek), nem futnak külön szálakon, így minden egymást követő tevékenység csak akkor lesz végrehajtva, ha a korábban ütemezett tevékenység befejeződött vagy tétlenül fut. Ha a tevékenység egyik gyermektevékenysége sem aszinkron vagy tétlen, akkor ez a tevékenység ugyanúgy fut, mint egy ForEach<T> tevékenység.

Konstruktorok

Name Description
ParallelForEach<T>()

Létrehozza az osztály új példányát ParallelForEach<T> .

Tulajdonságok

Name Description
Body

A ActivityAction rendszer ezt egyszer hajtja végre a Values gyűjteményben található összes értékhez.

CacheId

Lekéri a munkafolyamat-definíció hatókörén belül egyedi gyorsítótár azonosítóját.

(Öröklődés forrása Activity)
CanInduceIdle

Lekéri vagy beállít egy értéket, amely jelzi, hogy a tevékenység okozhatja-e a munkafolyamat tétlenségét.

(Öröklődés forrása NativeActivity)
CompletionCondition

Az egyes iterációk befejeződése után kiértékelve.

Constraints

Lekéri azoknak a tevékenységeknek a gyűjteményét Constraint , amelyek konfigurálhatók úgy, hogy érvényesítést biztosítsanak a Activity.

(Öröklődés forrása Activity)
DisplayName

Lekéri vagy beállítja a hibakereséshez, az ellenőrzéshez, a kivételkezeléshez és a nyomon követéshez használt rövid nevet.

(Öröklődés forrása Activity)
Id

A munkafolyamat-definíció hatókörében egyedi azonosítót kap.

(Öröklődés forrása Activity)
Implementation

A tevékenység végrehajtási logikája.

(Öröklődés forrása NativeActivity)
ImplementationVersion

Lekéri vagy beállítja a tevékenység implementációs verzióját.

(Öröklődés forrása NativeActivity)
Values

A paraméterként használt értékek gyűjteménye a tevékenység minden iterációjában.Body

Metódusok

Name Description
Abort(NativeActivityAbortContext)

Származtatott osztályban való implementáláskor a megszakított tevékenységre reagálva hajt végre műveleteket.

(Öröklődés forrása NativeActivity)
CacheMetadata(ActivityMetadata)

Nincs implementálva. Használja inkább a metódust CacheMetadata(NativeActivityMetadata) .

(Öröklődés forrása NativeActivity)
CacheMetadata(NativeActivityMetadata)

Létrehozza és ellenőrzi a tevékenység argumentumainak, változóinak, gyermektevékenységeinek és tevékenységdelegáltjainak leírását.

(Öröklődés forrása NativeActivity)
Cancel(NativeActivityContext)

Származtatott osztályban implementálva a logika futtatásával a tevékenység kecses korai befejezését okozhatja.

(Öröklődés forrása NativeActivity)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Execute(NativeActivityContext)

Származtatott osztályban implementálva futtatja a tevékenység végrehajtási logikáját.

(Öröklődés forrása NativeActivity)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Eseményt hoz létre a dinamikus frissítés térképének létrehozásakor.

(Öröklődés forrása NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Eseményt hoz létre a dinamikus frissítés térképének létrehozásakor.

(Öröklődés forrása NativeActivity)
ShouldSerializeDisplayName()

Azt jelzi, hogy a DisplayName tulajdonság szerializálva legyen-e.

(Öröklődés forrása Activity)
ToString()

Olyan értéket String ad vissza, amely tartalmazza az Id és DisplayName a Activity.

(Öröklődés forrása Activity)
UpdateInstance(NativeActivityUpdateContext)

Frissíti a példányt NativeActivity.

(Öröklődés forrása NativeActivity)

A következőre érvényes: