Udostępnij za pośrednictwem


WorkflowInstance Klasa

Definicja

WorkflowInstance to lekkie środowisko uruchomieniowe dla poszczególnych wystąpień służące do wykonywania programu przepływu pracy. Może być skonstruowany w celu utworzenia nowego wystąpienia przepływu pracy lub istniejącego stanu wystąpienia. Interfejsy API, które WorkflowInstance.WorkflowInstanceControl uwidaczniają to minimalny zestaw kontrolek środowiska uruchomieniowego, z których można zaimplementować operacje wyższego poziomu. Ten zestaw interfejsów API reprezentuje całą funkcjonalność środowiska uruchomieniowego. WorkflowInstance jest klasą abstrakcyjną i opiera się na implementacji hosta jej metod abstrakcyjnych w celu zapewnienia funkcjonalności hosta, takiej jak synchronizacja, trwałość, śledzenie i rozszerzenia.

public ref class WorkflowInstance abstract
public abstract class WorkflowInstance
type WorkflowInstance = class
Public MustInherit Class WorkflowInstance
Dziedziczenie
WorkflowInstance
Pochodne

Uwagi

WorkflowInstance jest jednowątkowy i zakłada, że host synchronizuje wszystkie dostęp do niego. Próba wywołania wielu interfejsów API jednocześnie spowoduje zgłoszenie InvalidOperationException .

Wewnętrznie, WorkflowInstance ma dwa stany: uruchomione i wstrzymane. Jedynym sposobem, aby spowodować, że środowisko uruchomieniowe przestanie działać z powodu wstrzymania, jest wywołanie Run . Wszystkie akcje (z wyjątkiem pauz) można wykonać tylko w czasie, gdy środowisko uruchomieniowe jest wstrzymane. Środowisko uruchomieniowe zostanie uruchomione w sposób spontaniczny w następujących sytuacjach:

  • Wystąpił błąd krytyczny dla środowiska uruchomieniowego. Host zostanie zasygnalizowane przez OnRequestAbort (co nie sygnalizuje przejścia do wstrzymania), a następnie zostanie powiadomiony przez OnNotifyPaused .

  • Wyjątek w przepływie pracy został odchwycony i został wykryty jako element główny. Host zostanie powiadomiony za pomocą OnNotifyUnhandledException metody.

  • Usługa Scheduler uruchomiła elementy robocze i jest teraz Idle . Host zostanie powiadomiony za pomocą OnNotifyPaused metody. Należy zauważyć, że planista może wylogować się z elementów roboczych, ponieważ wystąpienie jest bezczynne lub zostało zakończone. StateWartość Controller właściwości może być używana do rozróżniania między nimi.

Host może zażądać zmiany z uruchamiania na wstrzymane przez wywołanie RequestPause lub PauseWhenPersistable metod WorkflowInstance.WorkflowInstanceControl wystąpienia zwróconego przez Controller Właściwość. Tego żądania nie należy traktować jako konkretnej odpowiedzi, co oznacza, że host nie powinien podejmować próby skorelowania podpowiadomienia * lub OnRequestAbort z określonym wywołaniem do wstrzymywania. W odpowiedzi na żądanie wstrzymania środowisko uruchomieniowe może przejść do wstrzymania i wywołać, OnNotifyPaused gdy harmonogram nadal ma oczekujące elementy robocze. StateWartość Controller właściwości może służyć do określenia, czy harmonogram nie ma więcej pracy lub został przerwany przez żądanie wstrzymania.

RequestPauseMetoda WorkflowInstance.WorkflowInstanceControl wystąpienia zwracanego przez Controller Właściwość jest jedyną metodą, którą można wywołać, gdy WorkflowInstance jest w stanie uruchomionym. Wszystkie inne metody spowodują zgłoszenie elementu InvalidOperationException if o nazwie. Zgodnie z regułami dotyczącymi sposobu WorkflowInstance przejścia z jednego stanu do innego, publiczne pojęcie wykonywane i wstrzymane można zdefiniować w następujący sposób:

  • Uruchomiona — stan między wywołaniem Run i następnym obiektem WorkflowInstance. Onpowiadamianie *.

  • Wstrzymano — stan między ostatnim obiektem WorkflowInstance. onpowiadamianie * i następnym wywołaniem do Run .

Konstruktory

WorkflowInstance(Activity)

Inicjuje nowe wystąpienie WorkflowInstance klasy z określoną definicją przepływu pracy.

WorkflowInstance(Activity, WorkflowIdentity)

Inicjuje nowe wystąpienie WorkflowInstance klasy z określoną definicją przepływu pracy i tożsamością definicji.

Właściwości

Controller

Pobiera WorkflowInstance.WorkflowInstanceControl wystąpienie dla tego elementu WorkflowInstance .

DefinitionIdentity

Pobiera lub ustawia tożsamość definicji WorkflowInstance .

HostEnvironment

Pobiera lub ustawia środowisko główne dla argumentów i zmiennych wystąpienia przepływu pracy.

Id

Pobiera unikatowy identyfikator wystąpienia przepływu pracy.

IsReadOnly

Pobiera wartość wskazującą, czy wystąpienie przepływu pracy zostało zainicjowane.

SupportsInstanceKeys

Pobiera wartość wskazującą, czy host obsługuje skojarzenie InstanceKeys z wystąpieniem w czasie wykonywania.

SynchronizationContext

Pobiera lub ustawia SynchronizationContext używany do planowania wystąpienia przepływu pracy.

WorkflowDefinition

Pobiera definicję przepływu pracy.

Metody

BeginFlushTrackingRecords(TimeSpan, AsyncCallback, Object)

Wywoływane przez środowisko uruchomieniowe przepływu pracy, aby rozpocząć wysyłanie rekordów oczekujących śledzenia w celu asynchronicznego śledzenia uczestników.

DisposeExtensions()

Wywołuje Dispose() wszystkie rozszerzenia, które implementują IDisposable .

EndFlushTrackingRecords(IAsyncResult)

Wywoływane przez środowisko uruchomieniowe przepływu pracy, aby zakończyć operację śledzenia.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FlushTrackingRecords(TimeSpan)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu wysyłania rekordów oczekujących śledzenia do śledzenia uczestników.

GetActivitiesBlockingUpdate(Object, DynamicUpdateMap)

Pobiera listę działań, które blokują aktualizację przepływu pracy.

GetExtension<T>()

Zwraca rozszerzenie określonego typu.

GetExtensions<T>()

Zwraca wszystkie rozszerzenia znalezione dla określonego typu.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
Initialize(IDictionary<String,Object>, IList<Handle>)

Wywoływane przez hosta w celu zainicjowania wystąpienia przepływu pracy z wartościami argumentów i właściwościami wykonania.

Initialize(Object)

Wywoływane przez hosta w celu zainicjowania wystąpienia przepływu pracy z użyciem stanu czasu wykonywania przepływu pracy.

Initialize(Object, DynamicUpdateMap)

Wywoływane przez hosta w celu zainicjowania wystąpienia przepływu pracy z użyciem stanu czasu wykonywania przepływu pracy i mapy aktualizacji.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnBeginAssociateKeys(ICollection<InstanceKey>, AsyncCallback, Object)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta, że nowe klucze wystąpienia powinny być skojarzone z tym wystąpieniem.

OnBeginFlushTrackingRecords(AsyncCallback, Object)

Wywołanie asynchroniczne do poproszenia hosta o opróżnienie rekordów oczekujących śledzenia w celu śledzenia uczestników.

OnBeginPersist(AsyncCallback, Object)

Wywołanie asynchroniczne do poproszenia hosta o utrwalenie przepływu pracy.

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

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta o rozpoczęciu operacji wznawiania zakładki.

OnDisassociateKeys(ICollection<InstanceKey>)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta, że określony zestaw kluczy wystąpienia nie powinien już być skojarzony z tym wystąpieniem.

OnEndAssociateKeys(IAsyncResult)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta o ukończeniu operacji kojarzenia kluczy.

OnEndFlushTrackingRecords(IAsyncResult)

Wywoływane przez środowisko uruchomieniowe przepływu pracy, aby powiadomić hosta, gdy operacja śledzenia opróżniania rekordów zostanie zakończona.

OnEndPersist(IAsyncResult)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta o ukończeniu operacji utrwalania.

OnEndResumeBookmark(IAsyncResult)

Wywoływane przez środowisko uruchomieniowe przepływu pracy, aby powiadomić hosta o zakończeniu operacji wznawiania zakładki.

OnNotifyPaused()

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta o przejściu wystąpienia przepływu pracy do stanu wstrzymania.

OnNotifyUnhandledException(Exception, Activity, String)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta Wystąpił nieobsługiwany wyjątek w wystąpieniu przepływu pracy.

OnRequestAbort(Exception)

Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu powiadomienia hosta, że zażądano operacji przerwania dla wystąpienia przepływu pracy.

RegisterExtensionManager(WorkflowInstanceExtensionManager)

Wywoływane przez hosta w celu zarejestrowania określonego Menedżera rozszerzeń, sprawdź, czy wszystkie wymagane rozszerzenia są obecne i zainicjuj kolekcję rozszerzeń do użycia.

ThrowIfReadOnly()

Zgłasza InvalidOperationException , czy wystąpienie przepływu pracy zostało zainicjowane, zgodnie z oczekiwaniami IsReadOnly .

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy