Выполнение WorkflowInstance более одного раза - PullRequest
0 голосов
/ 30 января 2009

Если у меня есть WorkflowInstance, могу ли я выполнить дважды подряд?

WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(...));
instance.start();
instance.start();

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

Ответы [ 4 ]

1 голос
/ 30 января 2009

В соответствии со спецификациями WorkflowInstance вы можете запустить экземпляр только один раз

взгляните на http://msdn.microsoft.com/en-us/library/system.workflow.runtime.workflowinstance.start.aspx

InvalidOperationException генерируется, если экземпляр уже запущен

0 голосов
/ 30 января 2009

Согласно ответу Рутеша, вы не можете запустить один и тот же экземпляр дважды. Если рабочий процесс был выгружен (т.е. сохранен), вы можете загрузить рабочий процесс снова, используя WorkflowInstance.Load ().

0 голосов
/ 30 января 2009

Экземпляр рабочего процесса, после запуска продвигается вперед через определение рабочего процесса и затем завершается. Его нельзя «повторно использовать» для выполнения другого рабочего процесса, так как объект может кэшироваться и использоваться повторно.

Есть несколько вещей, которые вы можете сделать, чтобы улучшить производительность вашего рабочего процесса, в зависимости от того, как он построен.

0 голосов
/ 30 января 2009

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

Моя проблема в том, что создание WorkflowInstance несколько тяжелое.

...