Trwałość przepływu pracy

Trwałość przepływu pracy to trwałe przechwytywanie stanu wystąpienia przepływu pracy, niezależne od informacji o procesie lub komputerze. Jest to wykonywane w celu zapewnienia dobrze znanego punktu odzyskiwania dla wystąpienia przepływu pracy w przypadku awarii systemu lub zachowania pamięci przez zwolnienie wystąpień przepływu pracy, które nie działają aktywnie lub przeniesienie 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 elementem WorkflowApplication lub WorkflowServiceHost , jak wspomniano w temacie How to: Enable Persistence for Workflows and Workflow Services (Jak włączyć trwałość przepływów pracy i usług przepływu pracy). Atrybut WorkflowApplication i WorkflowServiceHost używają skojarzonego z nim magazynu wystąpień, aby umożliwić utrwalanie wystąpień przepływu pracy w magazynie trwałości i ładowanie wystąpień przepływu pracy do pamięci na podstawie danych wystąpienia przepływu pracy 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 wraz z informacjami dotyczącymi wystąpienia przepływu pracy, możesz utworzyć uczestników trwałości rozszerzających klasę 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ć więcej informacji, zobacz Uczestnicy trwałości.

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, a element WorkflowIdleBehavior jest ustawiony 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 Wartość PersistableIdleAction.Persist.

  • Gdy aplikacja hosta jest poinstruowana, aby utrwała lub zwolniła wystąpienie przepływu pracy.

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

  • Gdy zostanie wykonane działanie Utrwalanie.

  • Gdy wystąpienie przepływu pracy opracowane przy użyciu poprzedniej wersji programu Windows Workflow Foundation napotka punkt trwałości podczas wykonywania współdziałania.

W tej sekcji