工作流调度服务与调用活动详解
1. 调度服务项目构建
1.1 调度服务选择
在不同的应用场景下,选择合适的调度服务非常重要。如果使用 Windows Forms 主机,手动调度服务可能更合适,因为它执行速度快,阻塞操作不会对 UI 产生不利影响,并且能防止用户在当前事件处理时激活其他事件。而当使用 Windows Service 应用程序来托管 WF 运行时,且该运行时面向多个 Windows Forms 主机时,默认调度服务似乎更合理,因为它可以同时处理来自不同 Windows Forms 主机的多个工作流实例。
1.2 项目创建与配置
为了展示 DefaultWorkflowSchedulerService 和 ManualWorkflowSchedulerService 的区别,我们将使用一个工作流控制台项目。该控制台主机将运行三个工作流,通过主机中的一个变量来决定使用哪种调度服务。
1.2.1 工作流建模与配置
以下是建模和配置工作流的步骤:
1. 创建一个名为 SchedulingServiceProject 的新顺序工作流控制台应用程序项目,并将其放置在 C:\SamsWf24hrs\Hours\Hour17AdvancedHosting 目录中。
2. 向工作流中添加两个 Code 活动。
3. 双击第一个 Code 活动,在其处理程序中添加以下代码:
string instanceId = this.WorkflowInstanceId.ToString(); Console.Wri