2013-02-07 6 views
0

Возможно ли приостановить рабочий процесс, если единственная информация, которую я имею, это идентификатор процесса?Windows Workflow Foundation Пауза по идентификатору

 workflowApp.Run(); 
     var workflowId = workflowApp.Id; 

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

Насколько я могу сказать, мне нужна ссылка на System.Activities.WorkflowApplication, чтобы приостановить приложение следующим образом:

workflowApp.Unload();

Как я могу назвать Unload(), чтобы приостановить запущенный процесс, если все у меня есть Ид ходового процесса?

Я заметил, что запись для процесса добавляется только к [System.Activities.DurableInstancing].[InstancesTable] при вызове метода Unload().

ответ

1

Если вы используете WorkflowApplication для запуска рабочего процесса, вы несете ответственность за его управление. Вы можете использовать WorkflowServiceHost, если вы хотите делегировать эту ответственность и использовать конечную точку управления рабочим процессом для выгрузки или приостановки экземпляра рабочего процесса по идентификатору.

+0

Спасибо Морису ... Я буду исследовать, как это сделать с WorkflowServiceHost – woggles

+0

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

+0

Вы знаете какие-либо примеры, показывающие, как это делается с помощью очень простого рабочего процесса? Я изо всех сил пытаюсь найти какие-либо конкретные примеры, где каждый может выбрать из списка рабочих процессов и приостановить/возобновить их. – woggles

Смежные вопросы