订单处理工作流:从复制活动到异常处理
1. 复制活动
在之前的工作流中,仅计算了订单的处理和运费。现在,我们要添加逻辑来计算每个订单商品的成本。
1.1 复用项目
- 打开 Visual Studio 2010,创建一个新的项目,选择空白解决方案模板,解决方案名称设为 Chapter05。
- 将 Chapter04 文件夹中的 OrderProcess 子文件夹复制到 Chapter05 文件夹。
- 在解决方案资源管理器中,右键单击 Chapter05 解决方案,选择“添加” -> “现有项目”,选择 Chapter05\OrderProcess 文件夹中的 OrderProcess.csproj 文件。
1.2 添加订单商品处理
- ForEach 活动
- 打开 OrderWF.xaml 文件的设计视图,在“Initialize Total”活动下方拖动一个 ForEach 活动,将其显示名称改为“Accumulate Order Items”。
- 在 Expression 字段输入:OrderInfo.Items。
- 由于默认类型为 Int32,而 OrderInfo.Items 是 OrderItem 对象的集合,在 TypeArgument 下拉列表中选择“Browse for Types”,在对话框中展开 OrderProcess 程序集并选择 OrderItem 类。
- 拖动一个 Assign