Udostępnij za pośrednictwem


Punkt końcowy kontroli przepływu pracy

Punkt końcowy sterowania przepływem pracy umożliwia deweloperom wywoływanie operacji sterowania w celu zdalnego sterowania wystąpieniami przepływu pracy hostowanymi przy użyciu polecenia WorkflowServiceHost. Ta funkcja może służyć do programowego wykonywania operacji sterowania, takich jak wstrzymanie, wznowienie i zakończenie.

Ostrzeżenie

Jeśli używasz punktu końcowego sterowania przepływem pracy w ramach transakcji, a kontrolowany przepływ pracy zawiera Persist działanie, wystąpienie przepływu pracy będzie blokowane do czasu upływu limitu czasu transakcji.

Zarządzanie wystąpieniem przepływu pracy

Program .NET Framework 4.6.1 definiuje nowy kontrakt o nazwie IWorkflowInstanceManagement. Ten kontrakt definiuje serię operacji sterowania, które umożliwiają zdalne sterowanie wystąpieniami przepływu pracy hostowanymi przez WorkflowServiceHostprogram . WorkflowControlEndpoint to standardowy punkt końcowy, który zapewnia implementację kontraktu IWorkflowInstanceManagement . WorkflowControlClient jest klasą używaną do wysyłania operacji kontrolnych do klasy WorkflowControlEndpoint.

Wystąpienia przepływu pracy mogą być w jednym z następujących stanów:

Aktywne
Stan wystąpienia przepływu pracy przed osiągnięciem stanu ukończonego i gdy nie jest w stanie wstrzymania. W tym stanie wystąpienie przepływu pracy uruchamia i przetwarza komunikaty aplikacji.

Suspended
W tym stanie wystąpienie przepływu pracy nie jest uruchamiane, nawet jeśli istnieją działania, które nie zostały uruchomione lub zostały częściowo uruchomione.

Ukończone
Stan końcowy wystąpienia przepływu pracy. Wystąpienie przepływu pracy nie może zostać uruchomione po osiągnięciu stanu ukończonego.

Iworkflowinstancemanagement

Interfejs IWorkflowInstanceManagement definiuje zestaw operacji sterowania z synchronicznymi i asynchronicznymi wersjami. Wersje transakcyjne wymagają użycia powiązania obsługującego transakcje. W poniższej tabeli wymieniono obsługiwane operacje sterowania.

Operacja sterowania opis
Przerwij Wymuszanie zatrzymuje wykonywanie wystąpienia przepływu pracy.
Anuluj Przenosi wystąpienie przepływu pracy ze stanu aktywnego lub zawieszonego na stan ukończony.
Uruchom Udostępnia wystąpienie przepływu pracy możliwość wykonania.
Wstrzymanie Przenosi wystąpienie przepływu pracy ze stanu aktywnego do stanu wstrzymania.
Zakończ zatrudnienie Przenosi wystąpienie przepływu pracy ze stanu aktywnego lub zawieszonego na stan ukończony.
Cosuspend Przenosi wystąpienie przepływu pracy ze stanu wstrzymania do stanu aktywnego.
TransactedCancel Wykonuje operację Anuluj w ramach transakcji (przepływanej z klienta lub utworzonej lokalnie). Jeśli system utrzymuje trwały stan wystąpienia przepływu pracy, wystąpienie przepływu pracy musi być utrwalane podczas wykonywania tej operacji.
TransactedRun Wykonuje operację Uruchom w ramach transakcji (przepływanej z klienta lub utworzonej lokalnie). Jeśli system utrzymuje trwały stan wystąpienia przepływu pracy, wystąpienie przepływu pracy musi być utrwalane podczas wykonywania tej operacji.
TransactedSuspend Wykonuje operację Wstrzymanie w ramach transakcji (przepływanej z klienta lub utworzonej lokalnie). Jeśli system utrzymuje trwały stan wystąpienia przepływu pracy, wystąpienie przepływu pracy musi być utrwalane podczas wykonywania tej operacji.
TransactedTerminate Wykonuje operację Zakończ w ramach transakcji (przepływanej z klienta lub utworzonej lokalnie). Jeśli system utrzymuje trwały stan wystąpienia przepływu pracy, wystąpienie przepływu pracy musi być utrwalane podczas wykonywania tej operacji.
TransactedUnsuspend Wykonuje operację Unsuspend w ramach transakcji (przepływanej z klienta lub utworzonej lokalnie). Jeśli system utrzymuje trwały stan wystąpienia przepływu pracy, wystąpienie przepływu pracy musi być utrwalane podczas wykonywania tej operacji.

Kontrakt IWorkflowInstanceManagement nie zapewnia środków do utworzenia nowego wystąpienia przepływu pracy, tylko do zarządzania istniejącymi wystąpieniami przepływu pracy. Aby uzyskać więcej informacji na temat zdalnego tworzenia nowego wystąpienia przepływu pracy, zobacz Rozszerzalność hosta usługi przepływu pracy.

Workflowcontrolendpoint

WorkflowControlEndpointto standardowy punkt końcowy z ustalonym kontraktem. IWorkflowInstanceManagement Po dodaniu do WorkflowServiceHost wystąpienia ten punkt końcowy może służyć do wysyłania operacji poleceń do dowolnego wystąpienia przepływu pracy hostowanego przez wystąpienie hosta. Aby uzyskać więcej informacji na temat standardowych punktów końcowych, zobacz Punkty końcowe w warstwie Standardowa.

Workflowcontrolclient

WorkflowControlClient to klasa, która umożliwia wysyłanie komunikatów sterujących do WorkflowControlEndpoint obiektu w obiekcie WorkflowServiceHost. Zawiera ona metodę dla każdej operacji obsługiwanej przez IWorkflowInstanceManagement kontrakt z wyjątkiem operacji transakcyjnych. WorkflowControlClient używa transakcji otoczenia w celu określenia, czy należy użyć operacji transakcyjnej.