一、ParallelActivity(并行活动)
ParallelActivity是WF中的并行活动,它允许多个活动同事执行,也就是说他提供了两条或两条以上的并行分支活动的执行,其执行顺序是有规律的。默认从左到右的方向执行,且执行完第一个分支的第一个子活动接着就执行第二个分支的第一个子活动,直到所有分支的第一个子活动都执行完毕,在执行第一个分支的第二个子活动,依次这样执行下去。
比如说我们要开发一个出差申请的流程,出差申请需要部门经理和财务同时审批后才能执行后面的流程(比如通知出差人员),这种情况就可以使用ParallelActivity,如下图示:
如上流程图的执行顺序就是:部门经理执行审批->财务审批->执行流程->办理借款->通知出差人员。这里只是举例了两个分支的应用,如果是两个以上的分支同样是这样一个执行顺序,需要记住就是怎么去添加分支和删除分支,选中ParalleActivity然后右键就可以直接添加分支,选中某一分支就可以加工该分支删除。
二、DelayActivity(延迟活动)
DelayActivity的主要功能就是将流程延迟指定的时间后在执行后面的流程节点,使用非常简单。只需要指定其TimeoutDuration(TimeSpan类型值)属性就可以了,当流程执行到DelayActivity活动的时候就会自动的延迟设定好的时间值后在继续执行后面的流程。
也可以通过其InitializeTimeoutDuration事件来指定延迟时间,同样是设置TimeoutDuration属性值,如下代码块:
2 {
3 DelayActivity da = sender as DelayActivity;
4 if (da != null )
5 {
6 da.TimeoutDuration = new TimeSpan( 00 , 00 , 10 ); // 10秒
7 }
8 }
三、ListenActivity(监听活动)
ListenActivity的功能和前面的PrallelActivity非常相似,不同的是PralleActivity将执行完所有的分支活动,ListenActivity则指执行一个子活动。由于ListenActivity活动的分支活动是事件驱动(EventDirven)活动,它的第一个活动必须是实现了IEventActivity接口的活动来作为事件到达的开始条件。