工作流类型简介

 

控制流程类型活动

Code活动:执行关联的代码,关键属性“ExecuteCode”。

Sequence:允许按顺序执行一组Activity

IfElse:根据指定的条件执行包含的活动。

While:按指定的迭代次数执行包含的Activity

Policy:根据一组关联的规则执行操作。

ConditionedActivityGroup:根据关联的事件/条件执行包含的Activity。只能在满足指定条件后,才会执行包含的Activity

Replicator:通过创建指定数量的复制实例来执行包含的Activity

SynchronizationScope在同步域中顺序执行所包含的Activity

     容器类型的符合活动,它可以为每个分支设置一个“排他”的标记“SynchronizationHandles”。

 

事件类型活动

HandleExternalEvent允许在工作流中接收事件。

     依赖外部来触发事件的,

CallExternalMethod从工作流中调用外部方法。

Listen允许根据指定的延迟时间或事件执行所包含的Activity

      此活动每条分支之间都是平行关系,只要有一个分支监听到事件,其他分支就都不会被执行。

     分支与分支之间是具有“排他”性的。此活动每条分支上的第一个子活动一定为事件类型的活动。

Delay将执行延后指定的一段时间。

     事件类型活动,由自身来触发事件。

     该活动可以触发工作流的“WorkflowIdled”事件,使工作流进入“idle”状态。

EventHandlingScope对子Activity的执行启用事件处理。

    容器内的活动,每个分支都是由EventDriven容器类型的活动构成。

    此活动是在其主活动运行结束前,它的所有事件的分支都可以被执行,不会出现“排他”的现象,该活动所监听的事件

    都存放在“Event Handlers”视图里。 

Parallel允许并行执行包含的Activity

     容器类型的活动,该活动的每条分支都是由Sequence活动构成的,在此活动运行时,只有每条分支全部执行完毕后该活动才结束,工作流

     也才能执行Parallel活动的其他后续活动,否则工作流就将一直等待知道Parallel活动结束。此活动的每条分支之间的关系都是平行的,这里

     的“平行”是指逻辑业务上的平行而在运行时都属于同一个线程。此活动被广泛运用于“会签”流程,例如某个文件要3个部门全部签字后才能

     生效,那么这3各部门在该工作流程中就是平行的关系。

 

事务和异常处理类型活动

FaultHandler允许根据指定的异常执行包含的Activity

     在wf中同一个容器内某个活动在运行时发生了异常,那么该容器内位于它后面的所有活动将不能被执行。

Throw允许在工作流中引发异常。

     如果容器没有对它内部子活动的异常进行捕捉,那么该容器后面的其他活动将不再被执行,反之容器后续的活动将继续执行。

   在程序运行时由于未知错误引发的异常被称为隐形异常,用户可以通过Throw活动在工作流中声明一个显性的异常并将它抛出,

   当异常发生时将会触发工作流运行时容器Runtime的“WorkflowTerminated”事件。

Compensate为支持长时间运行事务的作用域启用补偿。

     此活动是一个顺序类型的容器。补偿也需要指定一个区域,在该区域内如果发生了某些异常情况,那么就可以通过Compensatable活动

   来指定该类型的异常应该执行哪个区域内的补偿措施,这个区域可以使用CoompensatableSequence活动来限定。

   在现实工作中工作流还需要对某些特殊情况下的业务逻辑进行处理,例如某厂商生产的物品发现了缺陷,那么就需要在工作流程

     中设置一个召回的流程;某些公文写错了,正规的做法就是通过一个流程将其作废,而不是直接销毁;如果给客户发了一封错误

     的邮件,那么能做的就是再发一封邮件告诉他正确的信息,而不能把客户收到的那份邮件删除。在wf中可以使用CompensatableSequence

     活动和Compensatable活动来实现。

     注意:此活动是对已经存在的结果进行补偿。

CompensatableSequence按具有补偿的序列执行一组活动。

CompensatableTransactionScope:在事务中按顺序执行包含的活动并支持补偿。 

TransactionScope在事务中顺序执行所包含的Activity

CompensatableTransactionScope在事务中按顺序执行包含的活动并支持补偿。

 

WebService和与WF相关的活动

InvokeWorkflow允许使用异步Excute执行指定工作流。

Termainate终止工作流的执行。

     是结束工作流的活动,在执行时将触发工作流中的“WorkflowTerminated”事件

Suspend挂起工作流的执行。

     是暂停工作流的活动,在执行时将触发工作流中的“WorkflowSuspended”事件

WebServiceInput允许在工作流内从WebService接收数据。

WebServiceOutput允许在工作流内向WebService发送数据。

InvokeWebService允许从工作流内部调用WebService

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值