WorkflowPersistenceService Класс

Определение

Внимание!

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Абстрактный базовый класс, производными которого являются все службы постоянного хранения.

public ref class WorkflowPersistenceService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
Public MustInherit Class WorkflowPersistenceService
Inherits WorkflowRuntimeService
Наследование
WorkflowPersistenceService
Производный
Атрибуты

Комментарии

Примечание

В этом материале обсуждаются устаревшие типы и пространства имен. Дополнительные сведения см. в статье о нерекомендуемых типах в Windows Workflow Foundation 4.5.

При возникновении определенных условий во время выполнения рабочего процесса подсистема среды выполнения рабочих процессов сохраняет сведения о состоянии экземпляра рабочего процесса. Постоянное хранение может возникнуть, например, при завершении атомарной транзакции при освобождении экземпляра рабочего процесса, когда ведущее приложение вызывает WorkflowInstance.Unload в экземпляре рабочего процесса или при прерывании или завершении экземпляра рабочего процесса. Когда семантика подсистемы среды выполнения рабочих процессов предписывает необходимость появления постоянного хранения, подсистема среды выполнения рабочих процессов вызывает методы, предоставленные службой постоянного хранения для сохранения сведений о состоянии экземпляра рабочего процесса. Подобным образом, когда подсистеме среды выполнения рабочих процессов необходимо восстановить ранее сохраненный экземпляр рабочего процесса, она вызывает методы, предоставленные службой постоянного хранения для загрузки этих сведений о состоянии. Подсистема среды выполнения рабочих процессов обрабатывает всю семантику относительно времени выполнения сохранения. Служба постоянного хранения обрабатывает фактически сохранение и загрузку сведений о состоянии рабочего процесса в хранилище данных или из него.

Службу постоянного хранения можно создать путем наследования класса от класса WorkflowPersistenceService. Службу постоянного хранения можно добавить в подсистему среды выполнения рабочих процессов путем вызова метода AddService или путем создания соответствующей записи в файле конфигурации приложения. В классе WorkflowRuntime должна содержаться только одна служба постоянного хранения. Windows Workflow Foundation предоставляет класс SqlWorkflowPersistenceService, готовую службу постоянного хранения, которую можно использовать как есть или же ее можно расширить.

Подсистема среды выполнения рабочих процессов имеет семантику для блокировки сведений о состоянии рабочего процесса для использования в средах, где службы постоянного хранения, выполняемые в разных процессах, могут иметь доступ к одному хранилищу данных. Класс WorkflowPersistenceService предоставляет возможность поддержки этой функциональной возможности подсистемы среды выполнения рабочих процессов, предоставляя параметр для SaveWorkflowInstanceState, который указывает, должны ли сведения о состоянии экземпляра рабочего процесса быть разблокированы в хранилище данных, или предоставляя метод UnlockWorkflowInstanceState для разблокирования ранее заблокированных сведений о состоянии рабочего процесса. В службе постоянного хранения, реализующей блокировку, вызов LoadWorkflowInstanceState должен заблокировать сведения о состоянии для экземпляра рабочего процесса.

Служба постоянного хранения должна вызвать исключение PersistenceException, если ей не удается сохранить сведения о состоянии в хранилище данных или загрузить сведения о состоянии из хранилища данных. Подсистема среды выполнения рабочих процессов предполагает следующее поведение.

Механизм пакетирования предоставляется для служб, использующих постоянное хранилище для хранения сведений о состоянии рабочего процесса. В таких случаях часто бывает важным обеспечение согласованности между постоянным хранилищем, используемым службой постоянного хранения, и внутренним состоянием подсистемы среды выполнения рабочих процессов. Можно добавить функциональные возможности, определенные интерфейсом IPendingWork для службы, а затем принять участие в пакетировании транзакции рабочего процесса, предоставленном WorkflowCommitWorkBatchService, путем добавления изменения в хранилище данных в качестве рабочих элементов в WorkBatch. Само постоянное хранилище должно реализовать интерфейс IEnlistmentNotification, так что сведения о рабочем процессе не сохраняются неправильным образом в событии отката транзакции. Дополнительные сведения см. в разделе SaveCompletedContextActivity или SaveWorkflowInstanceState.

Конструкторы

WorkflowPersistenceService()
Устаревшие..

При реализации в производном классе инициализирует новый экземпляр класса WorkflowPersistenceService.

Свойства

Runtime
Устаревшие..

Возвращает WorkflowRuntime для данной службы.

(Унаследовано от WorkflowRuntimeService)
State
Устаревшие..

Возвращает состояние экземпляра WorkflowRuntimeService.

(Унаследовано от WorkflowRuntimeService)

Методы

Equals(Object)
Устаревшие..

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetDefaultSerializedForm(Activity)
Устаревшие..

Получает сериализованную форму по умолчанию Activity.

GetHashCode()
Устаревшие..

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetIsBlocked(Activity)
Устаревшие..

Указывает, является ли данное действие заблокированным.

GetSuspendOrTerminateInfo(Activity)
Устаревшие..

Получает сведения о прекращении или приостановке данного действия.

GetType()
Устаревшие..

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetWorkflowStatus(Activity)
Устаревшие..

Получает состояние рабочего процесса.

LoadCompletedContextActivity(Guid, Activity)
Устаревшие..

При реализации в производном классе загружает заданную завершенную область обратно в память.

LoadWorkflowInstanceState(Guid)
Устаревшие..

При реализации в производном классе загружает заданное состояние экземпляра рабочего процесса обратно в память.

MemberwiseClone()
Устаревшие..

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnStarted()
Устаревшие..

При переопределении в производном классе представляет метод, который будет вызван при вызове подсистемой среды выполнения рабочих процессов события Started.

(Унаследовано от WorkflowRuntimeService)
OnStopped()
Устаревшие..

При переопределении в производном классе представляет метод, который будет вызван при вызове подсистемой среды выполнения рабочих процессов события Stopped.

(Унаследовано от WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
Устаревшие..

Вызывает событие ServicesExceptionNotHandled.

(Унаследовано от WorkflowRuntimeService)
RestoreFromDefaultSerializedForm(Byte[], Activity)
Устаревшие..

Восстанавливает Activity из сериализованной формы.

SaveCompletedContextActivity(Activity)
Устаревшие..

При реализации в производном классе сохраняет заданную завершенную область в хранилище данных.

SaveWorkflowInstanceState(Activity, Boolean)
Устаревшие..

При реализации в производном классе сохраняет состояние экземпляра рабочего процесса в хранилище данных.

Start()
Устаревшие..

При переопределении в производном классе запускает службу и изменяет State на Starting.

(Унаследовано от WorkflowRuntimeService)
Stop()
Устаревшие..

При переопределении в производном классе останавливает службу и изменяет State на Stopping.

(Унаследовано от WorkflowRuntimeService)
ToString()
Устаревшие..

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnloadOnIdle(Activity)
Устаревшие..

Определяет, необходима ли выгрузка незанятого рабочего процесса.

UnlockWorkflowInstanceState(Activity)
Устаревшие..

При переопределении в производном классе разблокирует состояние экземпляра рабочего процесса.

Применяется к