持久延迟
本主题适用于 Windows Workflow Foundation 4。
此示例演示如何使用持久延迟,在持久延迟过程中,将把工作流保存到持久性设备。示例工作流包含发送到控制台并由延迟分隔的两个消息。触发延迟时,工作流会卸载,并在重新加载到内存中之前,在工作流实例存储区中等待 5 秒。
工作流详细信息
工作流服务主机承载工作流,并通过加载和卸载工作流实例来对其进行管理。为了启动工作流定义的实例,此示例设置了一个代理,用于向工作流中的 Receive 活动发送消息。CanCreateInstance 属性设置为 true,从而可以在接收到消息时创建工作流的新实例。
下面的列表详细介绍初始化过程中工作流服务主机进行的设置。
创建一个地址为 (https://localhost:8080/Client) 的服务主机。
在该服务主机中创建一个终结点,以便与工作流内的 Receive 活动进行通信。
设置 SQL 实例存储区。
添加一个卸载实例行为,指定工作流服务主机在什么条件下应将工作流实例卸载到 SQL 持久性存储区。对于此示例,它在工作流进入空闲状态后(触发了延迟时)立即卸载实例。
创建向工作流中的 Receive 活动发送消息的代理。
使用此示例
设置持久性数据库。
打开 Visual Studio 2010 命令提示符。
导航到 .NET Framework 目录 (C:\Windows\Microsoft.NET\Framework\v4.X\)。
编辑 WorkflowManagementService.exe.config 文件,将以下连接字符串添加到 <database> 元素内。
<database connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=DefaultSampleStore;Integrated Security=True;Asynchronous Processing=True" />
导航到 DurableDelay\CS 目录。
运行 Setup.cmd。
通过右击 Visual Studio 2010 图标并选择**“以管理员身份运行”**,使用提升的权限运行 Visual Studio 2010。
打开 Delay.sln 解决方案文件。
按 F6 生成解决方案。
若要运行解决方案,请按 Ctrl+F5。
卸载此示例
打开 Visual Studio 2010 命令提示符。
导航到 DurableDelay\CS 目录。
运行 Cleanup.cmd。
注意: |
---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\WF_WCF_Samples
如果此目录不存在,请转到 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:
<安装驱动器>:\WF_WCF_Samples\WF\Basic\Services\DurableDelay
|