WorkflowInstance Класс

Определение

Внимание!

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

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

public ref class WorkflowInstance sealed
public sealed class WorkflowInstance
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
Наследование
WorkflowInstance
Атрибуты

Примеры

В следующем примере кода показано создание и запуск экземпляра WorkflowInstance в узле рабочего процесса. Код создает экземпляр WorkflowRuntime, добавляет службы к среде выполнения, а затем рекомендуемым способом создает объект WorkflowInstance. Код инициализирует экземпляр WorkflowInstance, вызывая метод CreateWorkflow и передавая ему созданный ранее тип. Экземпляр WorkflowInstance запускается вызовом метода Start.

Данный пример кода является частью примера SDK «Canceling a Workflow» из файла Program.cs. Дополнительные сведения см. в разделе Отмена рабочего процесса.

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

Комментарии

Примечание

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

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

Примечание

Если экземпляр рабочего процесса перестает отвечать из-за того, что вызов ведущего приложения не возвращается, то единственным способом восстановления этого экземпляра будет перезапуск среды выполнения. Однако, если экземпляр был принудительно выгружен, прерван или приостановлен, то его выполнение можно продолжить, вызвав метод WorkflowInstance.Resume.

Свойства

InstanceId

Возвращает уникальный идентификатор экземпляра рабочего процесса.

WorkflowRuntime

Возвращает объект WorkflowRuntime для данного экземпляра рабочего процесса.

Методы

Abort()

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

ApplyWorkflowChanges(WorkflowChanges)

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

EnqueueItem(IComparable, Object, IPendingWork, Object)

Синхронно отправляет сообщение в указанную очередь рабочего процесса.

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)

Отправляет сообщение в указанную очередь рабочего процесса, когда рабочий процесс находится в состоянии бездействия. Метод EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) ожидает перехода рабочего процесса в состояние бездействия и выполняет постановку в очередь после проверки на бездействие планировщика заданий рабочего процесса (то есть при отсутствии выполнения активных операций).

Equals(Object)

Возвращает значение, указывающее, совпадает ли указанный объект с экземпляром WorkflowInstance.

GetHashCode()

Возвращает хэш-код данного экземпляра рабочего процесса.

GetType()

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

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

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

GetWorkflowNextTimerExpiration()

Возвращает следующий момент времени, который запланирован для доставки сообщения таймера данному экземпляру WorkflowInstance.

GetWorkflowQueueData()

Возвращает коллекцию объектов WorkflowQueueInfo, которая содержит ожидающие элементы и подписанные действия для очередей рабочего процесса, связанных с данным экземпляром рабочего процесса.

Load()

Загружает ранее выгруженный экземпляр рабочего процесса.

MemberwiseClone()

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

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

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

Resume()

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

Start()

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

Suspend(String)

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

Terminate(String)

Завершает выполнение экземпляра рабочего процесса в синхронном режиме.

ToString()

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

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

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

Unload()

Выгружает экземпляр рабочего процесса из памяти в хранилище сохраняемости. Этот вызов блокируется до завершения текущих запланированных заданий или до окончания области транзакции.

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

Потокобезопасность

Данный тип потокобезопасен.

См. также раздел