Поделиться через


Обзор рабочего процесса Windows

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

Обработчик среды выполнения рабочего процесса

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

  • Значение, WorkflowInvokerкоторое вызывает рабочий процесс, например метод.

  • Для WorkflowApplication явного управления выполнением одного экземпляра рабочего процесса.

  • Средство WorkflowServiceHost для обмена сообщениями в сценариях с несколькими экземплярами.

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

Каждый из предыдущих трех объектов взаимодействия узла создается из дерева действий, называемых программой рабочего процесса. Используя эти типы или пользовательский узел, который обёртывает ActivityInstance, рабочие процессы можно выполнять внутри любого процесса Windows, включая консольные приложения, приложения на основе форм, службы Windows, веб-сайты ASP.NET и службы Windows Communication Foundation (WCF).

Компоненты рабочего процесса в хост-процессе Компоненты рабочего процесса в узле

Взаимодействие между компонентами рабочего процесса

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

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

На предыдущей схеме метод Invoke класса WorkflowInvoker используется для вызова нескольких экземпляров workflows. WorkflowInvoker используется для упрощённых рабочих процессов, которые не нуждаются в управлении от хоста; рабочие процессы, которым требуется управление от хоста (например, Bookmark возобновление), должны выполняться с использованием Run вместо этого. Перед вызовом другого экземпляра рабочего процесса не требуется ждать завершения одного экземпляра рабочего процесса; подсистема выполнения поддерживает одновременное выполнение нескольких экземпляров рабочих процессов. Вызовы рабочих процессов приведены следующим образом:

См. также