“从宿主中动态更新”示例
此示例演示如何从工作流外部(即宿主程序中)动态地更新工作流实例。
工作流设计为接收一定金额的采购订单请求。 此工作流具有一个 CreditCheck DelayActivity 活动,后跟一个 POCreated CodeActivity 活动。 但是,由于异常情况,必须要拒绝所有采购订单请求。 宿主执行动态更新来移除采购订单创建步骤,以便拒绝所有采购订单请求。 此动态更改是从工作流外部的宿主中执行的。
需要拒绝所有采购订单请求的意外事件的更真实情形是:宿主要为所有运行的实例发出 Suspend 请求,然后对实例执行动态更新。
在此示例中,之所以会出现这种意外情形,原因是存在一个 CreditCheck DelayActivity 活动,该活动使宿主有机会在工作流实例中的某处处理 WorkflowIdled 事件。
生成并运行该示例后,输出结果将类似下面所示:
生成示例
通过单击**“下载示例”**来下载该示例。
这会将示例项目提取到本地硬盘。
单击**“开始”,依次指向“程序”和“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。
转到示例的源目录。
在命令提示符处键入 MSBUILD <解决方案文件名>。
运行示例
- 在 SDK 命令提示窗口中,运行 DynamicUpdateFromHost\bin\debug 文件夹(对于该示例的 VB 版本为 DynamicUpdateFromHost\bin 文件夹)中的 .exe 文件,该文件夹位于该示例的主文件夹下。
请参见
参考
RuleDefinitions
RuleConditionCollection
RuleExpressionCondition
ApplyWorkflowChanges
WorkflowChanges
其他资源
Using Dynamic Updates in Workflows
Applying Dynamic Updates to Workflows
“动态更新”示例
“从宿主中动态更新”示例
Dynamic Updates to Rule Conditions
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。