Nyelv

WorkflowInstance Osztály

Definíció

WorkflowInstance egy egyszerű, példányonkénti futtatókörnyezet egy munkafolyamat-program végrehajtásához. Létrehozható új munkafolyamat-példány létrehozásához vagy meglévő példányállapotból. A közzétett API-k WorkflowInstance.WorkflowInstanceControl a futásidejű vezérlők minimális készletei, amelyekből magasabb szintű műveletek implementálhatók. Ez az API-készlet a futtatókörnyezet teljes funkcionalitását képviseli. WorkflowInstance egy absztrakt osztály, amely a gazdagép absztrakt módszereinek megvalósítására támaszkodik, hogy olyan gazdagépfunkciókat biztosítson, mint a szinkronizálás, a megőrzés, a nyomon követés és a bővítmények.

public ref class WorkflowInstance abstract
public abstract class WorkflowInstance
type WorkflowInstance = class
Public MustInherit Class WorkflowInstance
Öröklődés
WorkflowInstance
Származtatott

Megjegyzések

WorkflowInstance egyszálas, és feltételezi, hogy a gazdagép szinkronizálja az összes hozzáférést. Ha egyszerre több API-t próbál meghívni, a rendszer eldobja a parancsot InvalidOperationException .

WorkflowInstance A belső állapotnak két állapota van: futtatás és szüneteltetés. A futtatókörnyezet csak a hívással Runválthat a szüneteltetettről a futtatásra. Minden művelet (a Szüneteltetés kivételével) csak akkor végezhető el, ha a futtatókörnyezet szüneteltetve van. A futtatókörnyezet spontán szüneteltetve lesz a következő helyzetekben:

  • A futtatókörnyezetben végzetes hiba történt. A gazdagépen keresztül OnRequestAbort lesz jelezve (amely nem jelzi a szüneteltetettre való áttérést), majd értesítést küld a rendszer.OnNotifyPaused

  • A munkafolyamat egyik kivétele nem merült fel, és elkerülte a gyökért. A rendszer a metóduson keresztül értesíti a gazdagépet OnNotifyUnhandledException .

  • Az ütemezőnek elfogynak a munkaelemei, és most már Idleaz . A rendszer a metóduson keresztül értesíti a gazdagépet OnNotifyPaused . Vegye figyelembe, hogy az ütemező elfogyhatott a munkaelemekből, mert a példány üresjáratban van, vagy mert a példány befejeződött. A State tulajdonság értéke Controller a kettő megkülönböztetésére használható.

A gazdagép a tulajdonság által RequestPause visszaadott példány vagy PauseWhenPersistable metódusok WorkflowInstance.WorkflowInstanceControl meghívásával Controller kérheti a Futásról szüneteltetettre váltást. Ez a kérés nem tekinthető konkrét válasznak, ami azt jelenti, hogy a gazdagép nem kísérelhet meg korrelálni egy OnNotify* vagy OnRequestAbort egy adott szüneteltetni kívánt hívást. Egy szüneteltetési kérelemre válaszul a futtatókörnyezet szüneteltetve állapotba léphet, és felhívhatja OnNotifyPaused , miközben az ütemező továbbra is függőben lévő munkaelemekkel rendelkezik. A State tulajdonság értéke Controller annak megállapítására használható, hogy az ütemező nem rendelkezik-e több munkával, vagy szüneteltetés kérése megszakította-e.

A RequestPause tulajdonság által WorkflowInstance.WorkflowInstanceControl visszaadott példány metódusa Controller az egyetlen metódus, amely meghívható, amíg a WorkflowInstance rendszer Fut állapotban van. Minden más metódus egy if meghívást InvalidOperationException ad. Tekintettel az egyik állapotról a másikra való áttérésre vonatkozó szabályokra WorkflowInstance , a Futtatás és a Szüneteltetés nyilvános fogalma a következőképpen határozható meg:

  • Futtatás – A hívás Run és a következő WorkflowInstance.OnNotify* közötti állapot.

  • Szüneteltetve – Az utolsó WorkflowInstance.OnNotify* és a következő hívás Runközötti állapot.

Konstruktorok

Name Description
WorkflowInstance(Activity, WorkflowIdentity)

Inicializálja az osztály új példányát a WorkflowInstance megadott munkafolyamat-definícióval és definíciós identitással.

WorkflowInstance(Activity)

Inicializálja az osztály új példányát WorkflowInstance a megadott munkafolyamat-definícióval.

Tulajdonságok

Name Description
Controller

Lekéri ennek a példánynak a WorkflowInstance.WorkflowInstanceControl példányát WorkflowInstance.

DefinitionIdentity

Lekéri vagy beállítja a definíció identitását WorkflowInstance.

HostEnvironment

Lekéri vagy beállítja a munkafolyamat-példány argumentumainak és változóinak gyökérkörnyezetét.

Id

Lekéri a munkafolyamat-példány egyedi azonosítót.

IsReadOnly

Beolvas egy értéket, amely jelzi, hogy a munkafolyamat-példány inicializálva lett-e.

SupportsInstanceKeys

Olyan értéket kap, amely jelzi, hogy a gazdagép támogatja-e a futásidejű példányok társítását InstanceKeys .

SynchronizationContext

Lekéri vagy beállítja a SynchronizationContext munkafolyamat-példány ütemezéséhez használt példányt.

WorkflowDefinition

Lekéri a munkafolyamat-példány munkafolyamat-definícióját.

Metódusok

Name Description
BeginFlushTrackingRecords(TimeSpan, AsyncCallback, Object)

A munkafolyamat-futtatókörnyezet meghívta, hogy megkezdje a függőben lévő nyomkövetési rekordok küldését a résztvevők aszinkron nyomon követésére.

DisposeExtensions()

Meghívja Dispose() az összes implementálható IDisposablebővítményt.

EndFlushTrackingRecords(IAsyncResult)

A munkafolyamat-futtatókörnyezet meghívta a követés műveletének befejezéséhez.

Equals(Object)

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

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

A munkafolyamat futtatókörnyezete meghívta, hogy függőben lévő nyomkövetési rekordokat küldjön a nyomkövetési résztvevőknek.

GetActivitiesBlockingUpdate(Object, DynamicUpdateMap)

Lekéri a munkafolyamat frissítését blokkoló tevékenységek listáját.

GetExtension<T>()

A megadott típusú bővítményt adja vissza.

GetExtensions<T>()

A megadott típushoz talált összes bővítményt adja vissza.

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)
Initialize(IDictionary<String,Object>, IList<Handle>)

A gazdagép meghívta, hogy inicializálja a munkafolyamat-példányt az argumentumértékekkel és a végrehajtási tulajdonságokkal.

Initialize(Object, DynamicUpdateMap)

A gazdagép meghívta, hogy inicializálja a munkafolyamat-példányt a munkafolyamat futásidejű állapotával és frissítési térképével.

Initialize(Object)

A gazdagép meghívta, hogy inicializálja a munkafolyamat-példányt a munkafolyamat futásidejű állapotával.

MemberwiseClone()

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

(Öröklődés forrása Object)
OnBeginAssociateKeys(ICollection<InstanceKey>, AsyncCallback, Object)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet, hogy új példánykulcsokat kell társítani ehhez a példányhoz.

OnBeginFlushTrackingRecords(AsyncCallback, Object)

Aszinkron hívás, amely arra kéri a gazdagépet, hogy ürítse ki a függőben lévő nyomkövetési rekordokat a résztvevők nyomon követéséhez.

OnBeginPersist(AsyncCallback, Object)

Aszinkron hívás, amely arra kéri a gazdagépet, hogy őrizze meg a munkafolyamatot.

OnBeginResumeBookmark(Bookmark, Object, TimeSpan, AsyncCallback, Object)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet arról, hogy a könyvjelző folytatása megkezdődött.

OnDisassociateKeys(ICollection<InstanceKey>)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet arról, hogy bizonyos példánykulcsok már nem társíthatók ehhez a példányhoz.

OnEndAssociateKeys(IAsyncResult)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet a társított kulcsok műveletének befejezéséről.

OnEndFlushTrackingRecords(IAsyncResult)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet a flush tracking records művelet befejezésekor.

OnEndPersist(IAsyncResult)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet a perzisztencia-művelet befejezéséről.

OnEndResumeBookmark(IAsyncResult)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet az önéletrajz könyvjelző-műveletének befejezéséről.

OnNotifyPaused()

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet arról, hogy a munkafolyamat-példány áttért a futó állapotról a szüneteltetett állapotra.

OnNotifyUnhandledException(Exception, Activity, String)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet, hogy nem kezelt kivétel történt a munkafolyamat-példányban.

OnRequestAbort(Exception)

A munkafolyamat-futtatókörnyezet meghívta, hogy értesítse a gazdagépet arról, hogy megszakító műveletet kértek a munkafolyamat-példányhoz.

RegisterExtensionManager(WorkflowInstanceExtensionManager)

A gazdagép meghívta a megadott bővítménykezelő regisztrálására, ellenőrizze, hogy az összes szükséges bővítmény megtalálható-e, és inicializálja a használni kívánt bővítmények gyűjteményét.

ThrowIfReadOnly()

Ha a munkafolyamat-példány InvalidOperationException inicializálva lett, a megadott IsReadOnlymódon.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

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

A következőre érvényes: