Прервать дочерний рабочий процесс по триггеру - PullRequest
0 голосов
/ 05 марта 2012

Я выполняю динамически загруженные дочерние рабочие процессы родительским рабочим процессом. в то время как дочерний рабочий процесс выполняется, я хочу прервать текущий дочерний рабочий процесс и запустить новый рабочий процесс из динамически загруженного файла (.xaml) в соответствии с пользовательскими вводами из родительского рабочего процесса.
Мой родительский рабочий процесс является конечным автоматом, который отображается как служба, и у него есть состояние, которое выполняет другой загруженный дочерний рабочий процесс в методе ввода состояния (используя Microsoft.Activities.Extensions). Я хочу, чтобы дочерний рабочий процесс был изменен в соответствии с спусковой крючок. Дочерний рабочий процесс может быть конечным автоматом или последовательным.

1 Ответ

3 голосов
/ 08 марта 2012

Существует два способа прервать рабочий процесс.

  1. Хост WorkflowApplication
  2. Сам рабочий процесс может использовать операцию завершения

В вашемВ этом случае Microsoft.Activities.Extensions использует WorkflowInvoker для вызова рабочего процесса, и вы не можете прервать дочерний рабочий процесс, поэтому единственным вариантом является проверка дочерним рабочим процессом какого-либо «сигнала» для завершения, если он зацикливается.

Этим "сигналом" может быть наличие файла, запись в базе данных и т. Д.

...