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