【问题标题】:Resuming a suspended state machine workflow instance in Windows Workflow Foundation 4在 Windows Workflow Foundation 4 中恢复暂停的状态机工作流实例
【发布时间】:2012-01-11 22:31:16
【问题描述】:
我目前有一个作为 Windows Workflow Foundation 4 Web 服务运行的状态机。此解决方案适用于长时间运行的工作流,因此它还利用了 SqlWorkflowInstanceStore。我遇到的问题是我找不到恢复暂停工作流实例的解决方案。我在网上看到的例子似乎不适用于状态机。混乱似乎来自这样一个事实,即我没有创建正确的 WorflowControlClient 对象所需的端点来引用。
任何帮助将不胜感激。
【问题讨论】:
标签:
workflow-foundation-4
state-machine
【解决方案1】:
我在服务的同一子目录中创建了一个 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>