WorkflowInstance Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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) |