2009-09-29 28 views
0

我正在开发一个实用程序以便在WF数据库中使用持久WF实例。阻止WF运行时或持久性服务加载WF实例

我正在使用标准的SqlWorkflowPersistenceService来访问WF数据库。 我想使用持久性服务功能,如GetAllWorkflows()和通过GetWorkflow()加载单个实例。

虽然我正在处理这些实例,但我想阻止运行时处理其他实例。持久性轮询间隔设置为较高值,以防止服务在工具运行时轮询,但服务在启动时加载具有到期定时器的实例。

有没有办法阻止运行时加载和处理实例呢?

回答

1

据我所知,没有真正的开箱即用设置,可以让您加载工作流程而无需启动它们。最简单的方法/解决方法是使用ManualWorkflowScheduler并将activeTimer设置为false。这样你就可以加载工作流程,但是直到你明确这样做,它们才会被执行。请记住,您必须卸载您自己加载的任何工作流程实例,因为没有执行意味着工作流程不会变为空闲状态,并且unloadOnIdle设置不会启动。

+0

感谢您的超级解答。我真的没有想到ManualWorkflowScheduler,这似乎是合乎逻辑的。 – 2009-10-05 10:34:27