Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Рабочий процесс представляет собой набор элементов, называемых действиями , которые хранятся в виде модели, описывающей реальный процесс. Рабочие процессы предоставляют способ описания порядка выполнения и зависимых связей между частями короткой или длительной работы. Эта работа проходит через модель от начала до конца, и действия могут выполняться людьми или системными функциями.
Обработчик среды выполнения рабочего процесса
Каждый запущенный экземпляр рабочего процесса создается и поддерживается внутрипроцессным движком выполнения, с которым взаимодействует процесс хоста через один из следующих:
Значение, WorkflowInvokerкоторое вызывает рабочий процесс, например метод.
Для WorkflowApplication явного управления выполнением одного экземпляра рабочего процесса.
Средство WorkflowServiceHost для обмена сообщениями в сценариях с несколькими экземплярами.
Каждый из этих классов оборачивает основной рабочий процесс действий, представленный в виде ActivityInstance, который отвечает за выполнение действий. В домене приложения может быть несколько ActivityInstance объектов, работающих одновременно.
Каждый из предыдущих трех объектов взаимодействия узла создается из дерева действий, называемых программой рабочего процесса. Используя эти типы или пользовательский узел, который обёртывает ActivityInstance, рабочие процессы можно выполнять внутри любого процесса Windows, включая консольные приложения, приложения на основе форм, службы Windows, веб-сайты ASP.NET и службы Windows Communication Foundation (WCF).
Компоненты рабочего процесса в узле
Взаимодействие между компонентами рабочего процесса
На следующей схеме показано, как компоненты рабочего процесса взаимодействуют друг с другом.
На предыдущей схеме метод Invoke класса WorkflowInvoker используется для вызова нескольких экземпляров workflows. WorkflowInvoker используется для упрощённых рабочих процессов, которые не нуждаются в управлении от хоста; рабочие процессы, которым требуется управление от хоста (например, Bookmark возобновление), должны выполняться с использованием Run вместо этого. Перед вызовом другого экземпляра рабочего процесса не требуется ждать завершения одного экземпляра рабочего процесса; подсистема выполнения поддерживает одновременное выполнение нескольких экземпляров рабочих процессов. Вызовы рабочих процессов приведены следующим образом:
Действие Sequence, которое содержит дочернее действие WriteLine. Родительское Variable действие привязано к InArgument дочернему действию. Дополнительные сведения о переменных, аргументах и привязке см. в разделе "Переменные и аргументы".
Настраиваемое действие с именем
ReadLine. OutArgument ДействиеReadLineвозвращается вызывающему Invoke методу.Настраиваемое действие, наследуемое от абстрактного CodeActivity класса. Используя CodeActivityContext, доступный в качестве параметра метода Execute, CodeActivity может получить доступ к функциям среды выполнения (таким как отслеживание и свойства). Дополнительные сведения об этих функциях среды выполнения см. в разделе "Отслеживание рабочих процессов" и "Трассировка" и"Свойства выполнения рабочего процесса".