3.1.10.2.     取消范围

一、功能描述

·                                 指定要执行的活动以及该活动的取消逻辑。

二、属性

基本

·                                 显示名称该活动的名称,默认为取消范围,可自定义。

三、注解

·                                 取消范围组件由BodyCancellationHandler两部分组成,Body为正常执行路径,如果取消执行会调用CancellationHandler可以在[并行]容器中使用[取消范围],[并行][CompletionCondition]属性为[True],[并行]容器会在其内部[CancellationScope]容器执行完成后,结束其它正在执行的并行分支.如果其它正在执行的并行分支是[CancellationScope],则会调用该[CancellationScope][CancelHandler]如图3.10.1.2-1


3.10.1.2-1

·                                 Body:指定为其提供取消逻辑的活动。若要添加 Body 活动,请将组件从 组件列表拖放到取消范围组件的 "Body" 框中,其中包含提示文本 "在此处放置活动"

·                                 CancellationHandler:指定在取消事件中执行的活动。若要添加 CancellationHandler 活动,请将组件从组件列表拖放到取消范围组件上的“CancellationHandler”框中,其中包含提示文本 "在此处放置活动"

四、具体步骤

1.创建一个并行流程,创建一个Bool变量,赋值为False

2.添加[Parallel],并添加二个CancellationScope分支

第一个分支:

[Body]部分:添加[Delay]延时 15;添加[打印信息]打印当"A" 添加[Assign]为变量[myVariable]赋值True

[CancelHandler]部分:添加[打印信息]打印当"Cancellation:A取消"

第二个分支:

添加[Delay]延时 10;添加[打印信息]打印当"B" ; 添加[Assign]为变量[myVariable]赋值True

[CancelHandler]部分:添加[打印信息]打印当"Cancellation:B取消"

3.[Parallel.CompletionCondition ] 绑定到变量[myVariable] ,如图3.10.1.2-2

 

3.10.1.2-2

4.运行后的结果如图3.10.1.2-3

3.10.1.2-3