工作流异常处理、运行时服务与高级托管详解
1. 异常处理相关概念
在工作流(WF)中,异常处理是确保系统稳定性和数据一致性的重要环节。以下是一些关键的异常处理概念:
- 取消处理程序(Cancellation handler) :取消处理程序用于特定情况。当父活动需要关闭,而其一个或多个子活动正在执行时,子活动会被取消。这种需求可能由于异常或提前终止的需要而产生。例如,在一个并行活动(Parallel activity)中,一个分支包含延迟活动(Delay activity),另一个分支包含抛出异常活动(Throw activity)。当抛出异常活动抛出异常时,会导致其父活动出错,进而取消或关闭当前正在执行的子活动。取消处理程序允许在子活动关闭之前进行清理操作。需要注意的是,取消处理程序并非主流的错误纠正方式,而是为特定的 WF 需求而设计。
- 补偿处理程序(Compensation)和错误处理程序(Fault handler) :补偿处理程序和错误处理程序有相似之处,它们都允许在异常发生时开始进行错误纠正。但没有任何操作是自动撤销的,具体的错误纠正操作由开发者决定,例如发送撤回邮件或创建反向数据库条目。不同之处在于,补偿处理程序仅适用于已成功完成的活动,并且 WF 调用补偿处理程序的规则与调用错误处理程序的规则不同。开发者需要根据具体的错误情况选择更合适的调用方案。
2. 工作流异常处理问答
以下是一些关于工作流异常处理的常见问题及答案:
|问题|答案|
|----|----|
|抛出异常活动(Throw activity)的目的是什么?|抛出异常
超级会员免费看
订阅专栏 解锁全文
2119

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



