2010-08-17 75 views
1

我正在开发一些Workflow 4活动,这些活动将持续循环并执行一些工作。例如,可以在添加新项目时观看RSS源并执行一些步骤。我希望能够干净地停止并重新启动此过程(即,在Windows服务或Azure工作者角色中)。目前,我有一个While循环,其表达式总是会被解析为true,并且只会在应用程序关闭时让实例死亡。但似乎这不是一个非常干净的方法来停止工作流程。我应该如何阻止长时间运行的WF4工作流程?

我应该如何停止并重新启动工作流程?

回答

1

准确的系统取决于您承载工作流程的方式,但我假设您正在使用WorkflowApplication。在这种情况下,简单的选项是使用WorkflowApplication,它具有一个可用于取消执行工作流程的Cancel方法。您也可以创建书签活动并恢复停止书签或类似的东西,但这可能会过度杀伤。

+0

嗨莫里斯。我正在尝试按照您所述的方式取消工作流程。在工作流中使用延迟活动时,我得到TimeoutException。为什么会发生? – 2012-08-24 10:46:15