什么是Compensation
Windows Workflow Foundation compensation可以是:
默认情况下是隐式的,如果未指定异常处理或者发生未处理得异常
显式使用CompensateActivity
在Workflow中使用事务
System.Transactions.TransactionScope
TransactionScopeActivity
CompensatableTransactionScopeActivity
运行时改变workflow状态
改变一个运行的workflow实例
改变运行时的行为
改变workflow的结构
比如动态添加和删除Activity
使用PolicyActivity改变RuleSet
通过改变RuleCondition定义改变工作流分支
使用InvokeWorkflowActivity插入新的业务逻辑
使用新的xoml改变现有工作流
添加新的EventDrivenActivity响应新的事件
比如新的审批步骤
Workflow中的数据交换
Workflow和其宿主环境交换数据
HandleExternalEventActivity
CallExternalMethodActivity
ExternalDataExchangeAttribute
Workflow之间交换数据
WebServiceInputActivity
WebServiceOutputActivity
InvokeWebServiceActivity
SendActivity
ReceiveActivity
Windows Workflow Foundation compensation可以是:
默认情况下是隐式的,如果未指定异常处理或者发生未处理得异常
显式使用CompensateActivity
在Workflow中使用事务
System.Transactions.TransactionScope
TransactionScopeActivity
CompensatableTransactionScopeActivity
运行时改变workflow状态
改变一个运行的workflow实例
改变运行时的行为
改变workflow的结构
比如动态添加和删除Activity
使用PolicyActivity改变RuleSet
通过改变RuleCondition定义改变工作流分支
使用InvokeWorkflowActivity插入新的业务逻辑
使用新的xoml改变现有工作流
添加新的EventDrivenActivity响应新的事件
比如新的审批步骤
Workflow中的数据交换
Workflow和其宿主环境交换数据
HandleExternalEventActivity
CallExternalMethodActivity
ExternalDataExchangeAttribute
Workflow之间交换数据
WebServiceInputActivity
WebServiceOutputActivity
InvokeWebServiceActivity
SendActivity
ReceiveActivity