如何从客户端恢复暂停的 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 没有太多文档,几乎所有的演示都在基本的控制台应用程序中。这是一场斗争。 :(
我已经创建了工作流服务器并将其托管在 IIS 中。我有一个示例站点,它有一个服务引用并通过创建服务对象来调用工作流服务。一切正常。
但如果工作流发生异常,则会暂停工作流。我可以在 SQL 持久性存储数据库中看到它。
但是我怎样才能从客户端站点恢复这个工作流?
我想我明白了。暂停工作流时,您必须使用 Appfabric 明确恢复它。但是如果工作流被放弃,工作流服务将在下一次命中时恢复工作流。在此之前,它将保存在 SQL 持久性存储中。
为了更改未处理异常的默认行为,请将以下内容放入 web.config 的 <behavior>
部分。
<workflowUnhandledException action="Abandon" />
我试过了。当异常发生时,它将进入捕获并执行我给出的任何命令。但它不会暂停工作流程。它只是放弃它。后来我解决了这个问题并使用 CorreationIDs 调用我的工作流的第二部分,它恢复了工作流并完成了它。
希望这能帮助像我这样的可怜人。 Workflow Foundation 没有太多文档,几乎所有的演示都在基本的控制台应用程序中。这是一场斗争。 :(