WF 4.0基础篇(十六) CompensableActivity补偿

本文例子说明

CompensableActivity 补偿容器

补偿使用户可以指定对基于身体活动的成功完成后发生的活动的活动而须采取纠正行动

CompensableActivity 补偿容器

类名 System.Activities.Statements.CompensableActivity
文件 System.Activities.dll
结构说明 继承 NativeActivity<CompensationToken>

是一个 sealed类

override 了 [CacheMetadata方法] 与 [Execute方法] 与[Cancel]

override 了 [CanInduceIdle 属性]

[Variables] 属性 的类型为[Collection<Variable>]

[Body] 属性 的类型为[Activity]

[CancellationHandler] 属性 的类型为[Activity]

[CompensationHandler] 属性 的类型为[Activity]

[ConfirmationHandler] 属性 的类型为[Activity]

返回值为 System.Activities.Statements.CompensationToken

功能说明 [CompensableActivity]中可以定义变量

[CompensableActivity] 是补偿容器,在[CompensableActivity] 中的如下四个容器

[Body]容器,主体

[CancellationHandler]容器,产生[Cancel]行为时调用

[CompensationHandler]容器,当显式调用[Compensate]或流程异常完成时调用

[ConfirmationHandler]容器,当显式调用[Confirm]或流程正常完成时调用

时间: 2024-08-22 14:39:05

WF 4.0基础篇(十六) CompensableActivity补偿的相关文章

WF 4.0 基础篇(十四) Delay与WF4中的线程

本节主要介绍WF的实例是单线程运行的,Delay并不是Thread.Sleep,Parallel是单线程运行的,WorkflowApplication与WorkflowInvoker 在调用流程上的区别,InvokeMethod 调用异步方法 本文例子下载: http://files.cnblogs.com/foundation/DelayAndThreadWorkflow.rar 本文例子说明 WF的实例是单线程运行的 在WF3.x与WF4.0中,工作流实例都是单线程执行的 很多时候,[Par

WF 4.0基础篇(十五) TransactionScope事物容器

本文例子说明 准备 例子中要用到的数据库 创建一个名为[wxwinterWFTest]的数据库, 在数据库中创建一个名为[UserTable]的表,在表中创建一个名[UserUD]的[nurchar(50)]的字段,设成主键 例子中要用到的操作数据库的Activity [insertDataToSQLServerActivity]有一个[In 参数] UserID,用于向[UserTable]表插入记录 public sealed class insertDataToSQLServerActiv

WF 4.0基础篇(十八) Flowchar

本文例子说明 Flowchart 说明 Flowchart 类名 System.Activities.Statements.Flowchart 文件 System.Activities.dll 结构说明 继承 NativeActivity 是一个 sealed类 override 了 [CacheMetadata方法] 与 [Execute方法] [Variables]属性 的类型为[ Collection<Variable>] [StartNode]属性 的类型为[FlowNode] [No

WF 4.0基础篇(十二) CancellationScope 取消容器

本节主要介绍CancellationScope在异常中的使用,以及CancellationScope在Parallel 的使用. 本文例子下载: http://files.cnblogs.com/foundation/CancellationScopeSample.rar 本文例子说明 CancellationScope 取消容器 类名 System.Activities.Statements.CancellationScope 文件 System.Activities.dll 结构说明 继承

WF 4.0基础篇(十) Collection集合操作

本节主要介绍 AddtoCollection<T>,RemoveFromCollection<T>,ClearCollection<T>,ExistsInCollection<T> 的使用. 本文例子下载: http://files.cnblogs.com/foundation/CollectionSample.rar 本文例子说明

WF 4.0基础篇(六) 数据的传递 Arguments参数

本节主要介绍如何在WF4.0中使用参数,以及在流程启动时传入参数据在流程结束时读取参数 本文例子下载: http://files.cnblogs.com/foundation/ArgumentsSample.rar 本文例子说明

WF 4.0基础篇(四) 顺序容器Sequence与CodeActivity

本节主要介绍如何在WF4.0的流程中添加多个Activity,以及如何自定义Activity 本文例子下载: http://files.cnblogs.com/foundation/SequenceSample.rar http://files.cnblogs.com/foundation/CodeActivitySample.rar 顺序容器Sequence 与CodeActivity 顺序容器Sequence 类名 System.Activities.Statements.Sequence

WF4.0基础篇 (十九) Persistence持久化

Persistence 持久化 WF4提供了一个抽象类System.Runtime.Persistence.InstanceStore,用于定义持久化的实现.该类来自于 System.Runtime.dll 可以从InstanceStore类继承来开发Persistence Provider,持久化过程中的对实例的数据访问需要另外一个继 承自System.Activities.Persistence.PersistenceParticipant WF4提供了一个基于SQL Server的持久化类

WF 4.0基础篇(十七) Bookmark

本文例子说明 Bookmark Bookmark可使用流程Idle并触发实例的OnIdle 无返回值Bookmark 要定义具备Bookmark的 Activit,可从 NativeActivity继承,override [Execute 方法],使用[NativeActivityContext.CreateBookmark方法]添加Bookmark 需要override [ CanInduceIdle 属性],使其返回值为[True] 可用[实例.ResumeBookmark方法]触发Book