《WF编程》系列之47 第八章 工作流中的通信
2010-10-01 08:20:45 来源:WEB开发网WorkflowQueue和WorkflowQueueInfo
下面的截图显示了WorkflowQueue类,它代表了在工作流实例中的一个队列;还显示了WorkflowQueueInfo类,它描述了一个队列。代表性地,当我们使用诸如HandleExternalEvent或Delay这样的事件侦听活动时,我们不需要知道这些底层的队列。然而,这些队列不能支持大量的场景,它们在更高级的抽象上是不可能的。让我们看一些例子。
查找和等待活动
让我们回到本章开始的那个工作流。在工作流中,我们在Parallel活动的两个分支中使用了HandleExternalEvent活动。这些事件处理程序等待来自本地通信服务的投票事件到达,并使用相关性记号来保证投票到达正确的分支。我们将在事件处理程序中为运行时的WorkflowIdled事件调用下面的代码。当工作流被阻塞并等待事件到达时,运行时触发这个事件。
static void DumpQueueInfo(WorkflowInstance workflow)
{
ReadOnlyCollection<WorkflowQueueInfo> queueInfos;
queueInfos = workflow.GetWorkflowQueueData();
Console.WriteLine("Queue Info for {0}", workflow.InstanceId);
for (int i = 0; i < queueInfos.Count; i++)
{
Console.WriteLine();
Console.WriteLine("Queue #{0}", i.ToString());
Console.WriteLine(queueInfos[i].QueueName);
Console.WriteLine("Subscribed activities: ");
ReadOnlyCollection<string> names = queueInfos[i].SubscribedActivityNames;
foreach (string name in names)
{
Console.Write("{0} ", name);
}
Console.WriteLine();
Console.WriteLine();
}
}
- ››WF 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
- ››WF单元测试系列2:简单测试Activity的行为
更多精彩
赞助商链接