使用活动控制流程
翻译自:ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/118e7847-de88-4cf1-a3ef-b344c231eb38.htm
WWF框架包含了一组活动(译者:活动说白了就是构建工作流的控件。活动和工作流的关系就象windows控件和form的关系),这些活动提供了各种丰富的功能。你可以使用这些活动来控制工作流的逻辑流程。
以下列出了WWF框架中的常用的控制逻辑流程的活动。
活动 | 描述 |
Listen | 可使你的工作流包含一个依赖事件作出选择的分支,或者超时退出。 |
IfElse | 依次检查每个分支的条件,一个满足条件的分支将被执行。 |
Parallel | 可使你的工作流同时处理两个或两个以上不相关的操作。 |
Suspend | 可使你的工作流暂停,以干涉一些包含错误条件的事件。 |
Terminate | 可使你的工作流在接收到错误条件的事件时,立即终止。 |
While | 可使你的工作流循环执行,知道条件不满足。 |
ConditionedActivityGroup | 也叫CAG。Executes child activities based on a condition that applies to the CAG itself, and based on conditions that apply separately to each child. |
EventDriven | 这个活动包装了其他活动,这些活动会在指定的事件发生时运行。 |
在工作流中使用条件
翻译自:ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/541211f5-d382-4810-894f-71f00b34fa77.htm
你可以使用条件来控制工作流的行为。工作流引擎会判断条件,并依据判断的结果来决定之后的行为。
在工作流中有两种表达条件的方式:
l 你可以编写一个处理方法并返回一个布尔值。
l 你可以在工作流中定义一个规则。
你可以在工作流的运行期间动态更新条件规则,来改变工作流的行为。
你也可以通过创建一个策略类型的活动,来使用条件行为。
条件活动
l WWF提供了几个使用条件的活动:
l IFElse活动的分支,是基于条件判断的结果的。
l While活动将会持续循环的执行,知道条件判断为假。
l ConditionalActivityGroup活动将持续执行它的子活动,直到判断条件为真。CAG活动中的每个独立子活动都有一个“When”条件。只有在When条件为真时,活动才会执行。
l Replicator活动在判断条件为真时,完成他的执行。
你可以在自定义活动中使用条件。
注意:
条件规则只能是工作流类中定义任何公共成员——变量或者方法。而条件代码可以是是任何公共或私有的成员。