Возобновление приостановленного экземпляра рабочего процесса конечного автомата в Windows Workflow Foundation 4 - PullRequest
0 голосов
/ 12 января 2012

У меня в данный момент конечный автомат работает как веб-служба Windows Workflow Foundation 4. Это решение предназначено для длительных рабочих процессов, поэтому оно также использует SqlWorkflowInstanceStore. Проблема в том, что я не могу найти решение для возобновления приостановленного экземпляра рабочего процесса. Примеры, которые я видел в Интернете, похоже, не подходят для State Machine. Путаница, похоже, связана с тем, что у меня нет конечной точки для ссылки, необходимой для создания правильного объекта WorflowControlClient.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 24 января 2012

Я создал файл web.config в том же подкаталоге моего сервиса. Затем для каждого действия получения мне нужно было определить конечную точку во вновь созданном файле web.config. Затем я смог добавить дополнительное определение конечной точки как workflowControlEndpoint.

<endpoint address="wce" binding="basicHttpBinding" name="wceEndpoint" kind="workflowControlEndpoint"/>
<endpoint address="" binding="basicHttpBinding" name="WorkFlowCreated" contract="IWorkFlowCreated" />
<endpoint address="" binding="basicHttpBinding" name="WorkFlowUpdated" contract="IWorkFlowUpdated" />

Тогда стало возможным создать WorkflowControlClient

WorkflowControlClient controlClient = new WorkflowControlClient(
  new BasicHttpBinding(), 
  new EndpointAddress(new Uri("http://sitepath/general/1.0.0/General.xamlx/wce")));
controlClient.Unsuspend(instanceId);</code>
...