Kontrolní koncový bod pracovního postupu
Koncový bod řízení pracovního postupu umožňuje vývojářům volat operace řízení pro vzdálené řízení instancí pracovních postupů hostovaných pomocí WorkflowServiceHost. Tuto funkci lze použít k programovým operacím řízení, jako je pozastavení, obnovení a ukončení.
Upozorňující
Pokud používáte koncový bod ovládacího prvku pracovního postupu v rámci transakce a řízený pracovní postup obsahuje Persist aktivitu, instance pracovního postupu bude blokovat, dokud nedojde k překročení časového limitu transakce.
Správa instancí pracovního postupu
Rozhraní .NET Framework 4.6.1 definuje nový kontrakt s názvem IWorkflowInstanceManagement. Tento kontrakt definuje řadu operací řízení, které umožňují vzdálené řízení instancí pracovního postupu hostovaných WorkflowServiceHost. WorkflowControlEndpoint je standardní koncový bod, který poskytuje implementaci kontraktu IWorkflowInstanceManagement . WorkflowControlClient je třída, která se používá k odeslání řídicích operací do objektu WorkflowControlEndpoint.
Instance pracovního postupu můžou být v jednom z následujících stavů:
Aktivní
Stav instance pracovního postupu před dosažením dokončeného stavu a v případě, že není v pozastaveném stavu. V tomto stavu instance pracovního postupu spouští a zpracovává zprávy aplikace.
Dočasně blokován.
V tomto stavu se instance pracovního postupu nespustí ani v případě, že jsou aktivity, které nebyly spuštěny nebo jsou částečně spuštěné.
Dokončeno
Konečný stav instance pracovního postupu. Instance pracovního postupu se nemůže spustit po dosažení dokončeného stavu.
IWorkflowInstanceManagement
Rozhraní IWorkflowInstanceManagement definuje sadu řídicích operací s synchronními a asynchronními verzemi. Transacted verze vyžadují použití vazby s podporou transakcí. Následující tabulka uvádí podporované ovládací operace.
Řídicí operace | Popis |
---|---|
Přerušit | Vynuceně zastaví provádění instance pracovního postupu. |
Zrušit | Přemísí instanci pracovního postupu z aktivního nebo pozastaveného stavu do dokončeného stavu. |
Spustit | Poskytuje instanci pracovního postupu příležitost ke spuštění. |
Suspend | Přemísí instanci pracovního postupu z aktivního stavu do pozastaveného stavu. |
Ukončit | Přemísí instanci pracovního postupu z aktivního nebo pozastaveného stavu do dokončeného stavu. |
Unsuspend | Přemísí instanci pracovního postupu z pozastaveného stavu do aktivního stavu. |
TransactedCancel | Provede operaci Zrušit v rámci transakce (tok z klienta nebo vytvořený místně). Pokud systém udržuje trvalý stav instance pracovního postupu, musí být instance pracovního postupu zachována během provádění této operace. |
TransactedRun | Provede operaci Spuštění v rámci transakce (tok z klienta nebo vytvořený místně). Pokud systém udržuje trvalý stav instance pracovního postupu, musí být instance pracovního postupu zachována během provádění této operace. |
TransactedSuspend | Provádí operaci Pozastavení v rámci transakce (tok z klienta nebo vytvořený místně). Pokud systém udržuje trvalý stav instance pracovního postupu, musí být instance pracovního postupu zachována během provádění této operace. |
TransactedTerminate | Provede operaci Terminate v rámci transakce (tok z klienta nebo vytvořený místně). Pokud systém udržuje trvalý stav instance pracovního postupu, musí být instance pracovního postupu zachována během provádění této operace. |
TransactedUnsuspend | Provede operaci Unsuspend v rámci transakce (tok z klienta nebo vytvořený místně). Pokud systém udržuje trvalý stav instance pracovního postupu, musí být instance pracovního postupu zachována během provádění této operace. |
Kontrakt IWorkflowInstanceManagement neposkytuje prostředky pro vytvoření nové instance pracovního postupu, pouze pro správu existujících instancí pracovního postupu. Další informace o vzdáleném vytvoření nové instance pracovního postupu naleznete v tématu Rozšiřitelnost hostitele služby pracovního postupu.
WorkflowControlEndpoint
WorkflowControlEndpointje standardní koncový bod s pevným kontraktem . IWorkflowInstanceManagement Po přidání do WorkflowServiceHost instance lze tento koncový bod použít k odesílání operací příkazů do libovolné instance pracovního postupu hostované instancí hostitele. Další informace o standardních koncových bodech najdete v tématu Standardní koncové body.
Workflowcontrolclient
WorkflowControlClientje třída, která umožňuje odesílat řídicí zprávy na WorkflowControlEndpoint .WorkflowServiceHost Obsahuje metodu pro každou operaci podporovanou IWorkflowInstanceManagement kontraktem s výjimkou transakcí. WorkflowControlClient používá okolí transakce k určení, zda transacted operace má být použita.