如何在不重新加载到内存的情况下恢复具有延迟活动的持久工作流

时间:2011-12-05 11:38:41

标签: persistence workflow-foundation-4 delay resume

如何在不重新加载到内存的情况下恢复具有延迟活动的持久工作流:

我正在为离开申请创建工作流程。我的要求是,如果在指定时间内没有响应任何参与者,则该请求需要传递给下一级参与者批准。

假设请求者提交了请假申请,并且团队负责人需要在7天内批准。如果未在7天内回复团队负责人,则必须自动进入经理审批。 一般来说,为了达到这个目的,我们将编写一个定期检查的Windows服务,并在周期结束后发送通知。

但我希望在不编写Windows服务的情况下实现。 WF4.0中是否存在任何可能性。

我这样做,一旦请求者提交了请求,我就会在参与者邮箱中显示请求并保持工作流程。一旦参与者响应,我将恢复工作流(因为我正在保存工作流实例ID)并传递参与者响应以进一步执行工作流。

如果没有回复参与者,如何在不使用Windows服务的情况下将请求升级/发送给经理。

是否可以使用延迟活动进行任何操作?

2 个答案:

答案 0 :(得分:1)

如果您创建工作流服务,它将托管在WoskflowServiceHost中,并定期检查是否有过期的计时器并恢复这些计时器。

答案 1 :(得分:1)

您必须在某处托管工作流引擎... 如果它不在Windows服务中,它应该在IIS中。

您也可以在“普通”命令行应用程序中托管它,但如果您关闭应用程序,工作流程将停止。