如何从客户端恢复暂停的 Windows 工作流服务?

How to resume a suspended Windows Workflow Service from a client?

我已经创建了工作流服务器并将其托管在 IIS 中。我有一个示例站点,它有一个服务引用并通过创建服务对象来调用工作流服务。一切正常。

但如果工作流发生异常,则会暂停工作流。我可以在 SQL 持久性存储数据库中看到它。

但是我怎样才能从客户端站点恢复这个工作流?

我想我明白了。暂停工作流时,您必须使用 Appfabric 明确恢复它。但是如果工作流被放弃,工作流服务将在下一次命中时恢复工作流。在此之前,它将保存在 SQL 持久性存储中。

为了更改未处理异常的默认行为,请将以下内容放入 web.config 的 <behavior> 部分。

<workflowUnhandledException action="Abandon" />

我试过了。当异常发生时,它将进入捕获并执行我给出的任何命令。但它不会暂停工作流程。它只是放弃它。后来我解决了这个问题并使用 CorreationIDs 调用我的工作流的第二部分,它恢复了工作流并完成了它。

希望这能帮助像我这样的可怜人。 Workflow Foundation 没有太多文档,几乎所有的演示都在基本的控制台应用程序中。这是一场斗争。 :(