如何取消WorkflowApplication托管的工作流内的活动

时间:2011-08-17 18:43:58

标签: workflow workflow-foundation

是否可以取消长时间运行的活动,同时仍保持整个工作流程的活动状态。工作流本身托管在WorkflowApplication中。

真正的用户案例是我们有一个长期运行的活动,它会从外部Web服务中调查价格,一旦获得价格,活动就应该完成,工作流程将转移到下一步。但是,价格是好的但不是强制性的,因此在某些情况下我们想要取消轮询活动并让WF继续执行。

所以问题是如何通知正在运行的工作流程取消(实际跳过)其当前活动..如果根本不可能,请有人请分享您的想法并指出我实现此目标的正确方向。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Pick活动执行此操作。使用一个PickBranch触发器轮询价格并将跳过轮询书签活动添加到另一个分支。无论什么分支首先完成继续,另一分支将被取消。