工作流编程循序渐进(2:IfElseActivity活动)
2010-09-30 20:57:37 来源:WEB开发网using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;
namespace CodeAndDelay
{
class Program
{
static void Main(string[] args)
{
//......经常在此添加一些初始化代码
//创建工作流实例,并启动工作流执行。注意:工作流是以异步的独立的工作线程方式执行的
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();};
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine(e.Exception.Message);
waitHandle.Set();
};
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(CodeAndDelay.Workflow1));
instance.Start();
waitHandle.WaitOne();
}
//......在此经常执行一些工作流执行后的善后工作
}
}
}
注意:有关上面代码中AutoResetEvent事件等的详细讨论将在后续文章中介绍。
四、运行实例
按F5运行控制台程序,一般顺利的话,将得到如下图所示运行时快照。
第一个界面:
图片看不清楚?请点击这里查看原图(大图)。
接下字母a,并按下回车键,得到下图:
图片看不清楚?请点击这里查看原图(大图)。
无他复杂设计,不再赘述。
五、小结
在本文中我们学习了IfElseActivity活动的使用过程,在下一篇中将学习另外几个基本活动--While活动,ConditionalActivityGroup活动,Replicator活动等待。
出处: http://zhuxianzhong.blog.51cto.com/157061/203302
更多精彩
赞助商链接