我觉得我的问题有点直截了当,但我在“背景信息”一节中添加了一些关于我的问题的细节,以防过于模糊。
问题
WorkflowServiceHost如何确定持久化活动(即由于延迟而产生的空闲)已达到延迟超时?它是否将其加载到内存中,并每隔一次检查一次,还是这里发生了其他事情?
背景信息
因此,我对工作流有点陌生,我正试图确定将其用于使用3个月延迟的业务流程的可行性。基本上,业务流程是允许客户试用3个月的升级服务。为了实现这一点,我正在考虑实现一个在WCF接收(“取消升级接收”)和3个月延迟活动之间分割的Pick活动。如果延迟过期,它们将被永久升级并更新计费。或者,如果取消被初始化了,那么.是的,你的想法是:)
所以..。我关心的是在使用SQL工作流持久性时如何实现延迟。我不想结束在持久性存储中的w/ 500活动,这些活动必须每10分钟加载一次,为期3个月,以检查延迟活动是否过期。
发布于 2016-08-10 09:50:18
根据https://msdn.microsoft.com/en-us/library/ee829473(v=vs.110).aspx的说法,它的工作方式是:
SQL实例库运行一个定期唤醒并检测持久性数据库中可运行或可激活工作流实例的内部任务
可激活工作流是满足以下条件之一的工作流:
因此,OP的建议是正确的(“它是否将它加载到内存中并经常检查”)。
我本人并没有证实这种行为,但在寻找相同问题的答案时偶然发现了这个帖子,然后找到了相关的MSDN文章,我想和大家分享一下。
希望这能有所帮助。
发布于 2011-02-16 18:27:04
我用一个小得多的时间窗来看同样的问题。我仍然很想知道你是否/如何使用工作流来解决这个问题?
正如您前面所述,我正在使用WF4和pick,然后我的解决方案是尝试并使用appfabric基于延迟计时器重新初始化工作流。这是基于我在这里读到的:托管具有持久计时器/延迟的工作流服务和这里:激活工作流服务实例
我已经测试了选择的完美工作与一个延迟在一边,但现在我必须测试appfabric出。
也许,我会回来这里更新一下它的工作原理。或者你能给我一些洞察力?
https://stackoverflow.com/questions/3835863
复制相似问题