Windows Workflow Foundation基础与工作流模型解析
1. 补偿机制
在Windows Workflow Foundation中,补偿机制允许开发者定义单个活动在需要补偿时的特定行为。补偿会在以下两种情况下发生:
- 工作流中出现未处理的异常。
- 使用 CompensateActivity 对需要补偿的活动进行更细粒度的控制。
需要注意的是,对于每个标记为 ICompensatableActivity 且已完成的活动实例,都会进行补偿。例如,如果这样的活动放在一个执行10次的 while 循环中,补偿逻辑将对该活动的每个实例执行,即执行10次。这是通过跟踪活动执行的上下文并将其作为工作流状态的一部分来实现的。
此外,还有补偿范围活动,它允许将补偿行为建模为围绕一组任意活动的顺序工作流。 CompensatableSequence 和 CompensatableTransactionScope 提供了此功能,当你右键单击活动并选择“查看补偿处理程序”时,会显示一个顺序活动,用于定义该组活动的特定补偿行为。 CompensatableTransactionScope 的工作方式类似,但其中包含的活动将在 System.Transactions 事务中执行,以确保短期内的ACID行为,并在出现错误时定义回滚操作。
2. 工作流模型概述
工作流本质上是工作的安排,在Windows Workflo
超级会员免费看
订阅专栏 解锁全文
122

被折叠的 条评论
为什么被折叠?



