自定义补偿示例
本主题适用于 Windows Workflow Foundation 4。
此示例演示如何使用 CompensableActivity 及其补偿处理程序以定义自定义补偿逻辑。此示例中已建模的方案为“卡车租赁公司”。
示例详细信息
模拟的步骤为:
用户向卡车租赁商询问给定日期内的报价。
联系三家卡车公司,这三家公司提供了三份报价。
用户选择一份卡车报价,并通过信用卡来进行订购。
应用程序取消了其他两份卡车报价。
如果在预订日期的前 10 天内取消预订,则应用程序将收取一定的服务费,对于非高级帐户而言,此服务费是不可退还的。
应用程序收取卡车租赁费。
在预订日期之前或客户决定取消预订之前(以二者中较早的日期为准),应用程序将一直等待。
如果客户取消预订,则 CompensationHandler 自定义补偿逻辑将按照以下逻辑运行:
如果客户拥有非高级帐户且取消操作发生在预订日期前的 10 天内,则仍将收取服务费;否则,应用程序将退还服务费。
其他可补偿的活动(卡车订购 + 卡车订购费)将根据默认补偿逻辑运行,这将按相反的执行顺序进行补偿。
设置、生成和运行示例
使用 Visual Studio 2010,打开 CustomCompensation.sln 解决方案。它位于 \WF\Basic\Compensation\CustomCompensation 目录中。
按 F6 生成解决方案。
按 Ctrl+F5 运行应用程序。
注意: |
---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\WF_WCF_Samples
如果此目录不存在,请转到 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:
<安装驱动器>:\WF_WCF_Samples\WF\Basic\Compensation\CustomCompensation
|