Udostępnij za pomocą


Trwałość przepływu pracy

Trwałość przepływu pracy oznacza trwałe zachowywanie stanu instancji przepływu pracy, niezależne od informacji związanych z procesem lub komputerem. Jest to wykonywane w celu zapewnienia dobrze znanego punktu odzyskiwania dla wystąpienia przepływu pracy w przypadku awarii systemu, zachowania pamięci poprzez zwalnianie wystąpień przepływu pracy, które nie są aktywnie używane, lub przeniesienia stanu wystąpienia przepływu pracy z jednego węzła do innego węzła w farmie serwerów.

Trwałość umożliwia zwinność procesu, skalowalność, odzyskiwanie w obliczu awarii oraz wydajniejsze zarządzanie pamięcią. Proces trwałości obejmuje identyfikację punktu trwałości, zbieranie danych do zapisania, a na koniec delegowanie rzeczywistego przechowywania danych do dostawcy trwałości.

Aby włączyć trwałość przepływu pracy, należy skojarzyć magazyn wystąpień z obiektem WorkflowApplication lub WorkflowServiceHost, jak wspomniano w temacie Jak włączyć trwałość dla przepływów pracy i usług przepływu pracy. WorkflowApplication i WorkflowServiceHost używają skojarzonego z nimi magazynu instancji, aby umożliwić zapisywanie instancji przepływu pracy w magazynie trwałości oraz ładowanie tych instancji do pamięci na podstawie danych przechowywanych w magazynie trwałości.

Program .NET Framework 4.6.1 jest dostarczany z klasą SqlWorkflowInstanceStore , która umożliwia trwałość danych i metadanych dotyczących wystąpień przepływu pracy w bazie danych programu SQL Server 2005 lub SQL Server 2008. Aby uzyskać więcej informacji, zobacz Magazyn wystąpień przepływu pracy SQL .

Aby przechowywać i ładować dane specyficzne dla aplikacji oraz informacje dotyczące wystąpienia przepływu pracy, możesz utworzyć elementy trwałości rozszerzające funkcjonalność klasy PersistenceParticipant. Uczestnik trwałości uczestniczy w procesie trwałości w celu zapisania niestandardowych danych z możliwością serializacji w magazynie trwałości, załadowania danych z magazynu wystąpień do pamięci i wykonania dowolnej dodatkowej logiki w ramach transakcji trwałości. Aby uzyskać dodatkowe informacje, zapoznaj się z Uczestnikami utrzymywania danych.

Usługa Windows Server App Fabric upraszcza proces konfigurowania trwałości. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące trwałości w usłudze Windows Server App Fabric

Niejawne punkty trwałości

Poniższa lista zawiera przykłady warunków, w których przepływ pracy jest utrwalany, gdy magazyn wystąpień jest skojarzony z przepływem pracy.

  • Po zakończeniu działania TransactionScope lub zakończeniu działania TransactedReceiveScope .

  • Gdy wystąpienie przepływu pracy stanie się bezczynne i zachowanie WorkflowIdleBehavior zostanie skonfigurowane na hoście przepływu pracy. Dzieje się tak na przykład w przypadku korzystania z działań obsługi komunikatów lub działania Opóźnienia .

  • Gdy aplikacja WorkflowApplication stanie się bezczynna, a właściwość PersistableIdle aplikacji jest ustawiona na PersistableIdleAction.Persist.

  • Gdy aplikacji hosta zostanie polecone, aby zachowała lub zwolniła instancję przepływu pracy.

  • Po zakończeniu lub ukończeniu wystąpienia przepływu pracy.

  • Gdy zostanie wykonane działanie Utrwalanie .

  • Gdy instancja przepływu pracy opracowanego przy użyciu poprzedniej wersji programu Windows Workflow Foundation napotka punkt trwałości podczas interoperacyjnego wykonywania.

W tej Sekcji