什么是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

相关文章: