Sdílet prostřednictvím


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.