“工作流中的动态更新”示例

Download sample

此示例演示当工作流实例从工作流(代码旁置)内运行时如何动态更新工作流实例。

工作流接收一定金额的采购订单请求。 当金额小于 1000 美元时,工作流将自动批准采购订单。 当金额大于 1000 美元时,则必须批准采购订单。 通过从工作流的代码旁置中动态地添加 InvokeWorkflowActivity 活动,将可以实现此目的。 通过调用另一个工作流,您将能够将批准请求逻辑封装在工作流中。 但是,如果需要,也可以内联执行批准逻辑。

生成并运行该示例后,输出结果将类似下面所示:

“动态更新”示例输出

数据库配置

由 Windows Workflow Foundation 安装的 SQL Server 服务使用 Microsoft SQL Server 来存储信息。 可以对这些任务使用 Microsoft SQL Server 2005 Express、SQL Server 2000 或更高版本或 SQL Server 2000 Desktop Engine (MSDE)。

Windows Workflow Foundation 安装程序并不安装这些服务所需的数据库,但会安装用于为这些服务创建和配置数据库的 SQL 脚本。

下面的步骤说明如何创建和配置本示例中的服务所使用的数据库。

创建和配置 SQL Server 数据库

  • 在 Microsoft SQL Server 2005 Express、SQL Server 2000 或更高版本或 SQL Server 2000 Desktop Engine (MSDE) 中,使用 SQL 查询语句

    CREATE DATABASE SqlPersistenceService

    创建一个名为 SqlPersistenceService 的新数据库

提示

如果在工作流应用程序中同时使用 SqlTrackingServiceSqlWorkflowPersistenceService,建议为持久性和跟踪使用单一数据库。

  1. 在 SQL 查询分析器工作区中,从可用数据库列表中选择在步骤 1 中创建的数据库。

  2. 在**“文件”菜单上,单击“打开”**,并打开 SQL 脚本 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<语言>\SqlPersistenceService_Schema

  3. 通过单击**“执行”**来执行查询,或按 F5 创建 SQL 持久性服务表。

  4. 在**“文件”菜单上,单击“打开”**,并打开 SQL 脚本 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<语言>\SqlPersistenceService_Logic

  5. 通过单击**“执行”**来执行查询,或按 F5 创建 SQL 持久性服务存储过程。

生成示例

  1. 通过单击**“下载示例”**来下载该示例。

    这会将示例项目提取到本地硬盘。

  2. 单击**“开始”,依次指向“程序”“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。

  3. 转到示例的源目录。

  4. 在命令提示符处键入 MSBUILD <解决方案文件名>

运行示例

  • 在 SDK 命令提示窗口中,运行 DynamicUpdateFromWorkflow\bin\debug 文件夹(对于该示例的 VB 版本为 DynamicUpdateFromWorkflow \bin 文件夹)中的 .exe 文件,该文件夹位于该示例的主文件夹下。

请参见

参考

WorkflowChanges
ApplyWorkflowChanges

其他资源

Using Dynamic Updates in Workflows
Applying Dynamic Updates to Workflows
“动态更新”示例
“从宿主中动态更新”示例
Dynamic Updates to Rule Conditions

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。