在Windows Workflow Foundation 4中恢复挂起的状态机工作流实例

时间:2012-01-11 22:31:17

标签: workflow-foundation-4 state-machine

我目前有一台运行为Windows Workflow Foundation 4 Web服务的状态机。此解决方案适用于长时间运行的工作流,因此它还使用SqlWorkflowInstanceStore。我遇到的问题是我找不到恢复暂停的工作流实例的解决方案。我在网上看到的例子似乎并不适用于State Machine。混淆似乎来自于我没有引用端点来创建正确的WorflowControlClient对象。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在服务的同一子目录中创建了一个web.config文件。然后,对于每个Receive操作,我必须在新创建的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>