Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Устойчивость рабочего процесса — это надежное сохранение состояния экземпляра рабочего процесса, независимо от информации о процессе или компьютере. Это делается для предоставления известной точки восстановления для экземпляра рабочего процесса в случае сбоя системы или сохранения памяти путем выгрузки экземпляров рабочих процессов, которые активно не выполняют работу, или перемещения состояния экземпляра рабочего процесса с одного узла на другой узел в ферме серверов.
Сохраняемость обеспечивает гибкость процесса, масштабируемость, восстановление в случае сбоя и возможность эффективного управления памятью. Процесс сохраняемости включает идентификацию точки сохраняемости, сбор данных, которые необходимо сохранить, и, наконец, делегирование фактического хранилища данных поставщику сохраняемости.
Чтобы включить сохраняемость рабочего процесса, необходимо связать хранилище экземпляров с WorkflowApplication или WorkflowServiceHost , как упоминалось в разделе "Практическое руководство. Включение сохраняемости для рабочих процессов и служб рабочих процессов". WorkflowApplication и WorkflowServiceHost используют хранилище экземпляров, связанное с ними, чтобы обеспечить сохранение экземпляров рабочих процессов в хранилище сохраняемости и загрузку экземпляров рабочих процессов в память на основе данных экземпляра рабочего процесса, хранящихся в хранилище сохраняемости.
Платформа .NET Framework 4.6.1 поставляется с классом SqlWorkflowInstanceStore , который позволяет сохранять данные и метаданные о экземплярах рабочих процессов в базе данных SQL Server 2005 или SQL Server 2008. Дополнительные сведения см. в хранилище экземпляров рабочих процессов SQL .
Чтобы хранить и загружать данные, относящиеся к приложению, вместе с сведениями, связанными с экземпляром рабочего процесса, можно создать участников сохраняемости, расширяющих PersistenceParticipant класс. Участник сохраняемости участвует в процессе сохраняемости, чтобы сохранить пользовательские сериализуемые данные в хранилище сохраняемости, загрузить данные из хранилища экземпляров в память и выполнить дополнительную логику в транзакции сохраняемости. Дополнительные сведения см. в разделе "Участники сохраняемости".
Windows Server App Fabric упрощает процесс настройки сохраняемости. Для получения дополнительной информации см. раздел "Концепции сохраняемости в Windows Server App Fabric"
Неявные точки сохраняемости
В следующем списке содержатся примеры условий, при которых рабочий процесс сохраняется при сопоставлении хранилища экземпляров с рабочим процессом.
После завершения активности TransactionScope или завершения активности TransactedReceiveScope.
Когда экземпляр рабочего процесса становится бездействующим, и на хосте рабочего процесса установлено WorkflowIdleBehavior. Это происходит, например, при использовании действий обмена сообщениями или действия задержки .
Когда WorkflowApplication становится неактивным, а свойство PersistableIdle приложения имеет значение PersistableIdleAction.Persist.
Когда приложению-хосту дано указание сохранить или выгрузить экземпляр рабочего процесса.
После прекращения или завершения экземпляра рабочего процесса.
При выполнении действия "Сохранение ".
Когда экземпляр рабочего процесса, разработанный с использованием предыдущей версии Windows Workflow Foundation, обнаруживает точку сохраняемости во время выполнения взаимодействия.