打开vs2010,选择新建项目html
新建项目后看到的是初始的工做流程图,下面显示设计器中除了一个提醒你放置活动的信息外什么也没有。在这个简单的测试工做流中,打开vs2010的工具箱,找到基元(Primitives)
找到工具箱的基元(Primitives),找到WriteLine将其拖拽到设计器中,并在Text编辑器中输入用双引号括起的字符串信息,以下图:
查看 XAML,关闭工做流设计器,在Solution Explorer中点击Wrokflow1.xaml并选择View Code菜单选项,这将显示工做流的XAML描述,这些XML的文档根节点为<Activity>,咱们能够看到几乎全部定义都内嵌了clr-namespace标记。下图为咱们创建的工做流XAML文件,里面只有一个WriterLine方法的节点
下面咱们Ctrl+F5运行程序,如图所示,显示咱们在Text内输入的内容
使用WorkflowInvoker承载工做流
打开Workflow项目中的Program.cs文件,能够看到Main方法:
static void Main(string[] args)
{
WorkflowInvoker.Invoke(new Workflow1());
}
当你只想简单的启动工做流而不但愿进步一监控,使用WorkflowInvoker是十分有用的,Invoke()方法将以
同步阻塞方式执行工做流。在整个工做流结束或忽然中断前,调用线程都将保持阻塞状态,因为Invoke()方法是同步调用,这确保了整个工做流在Main()终止前可以完成,事实上,在WorkflowInvoker.Invoke()方法以后添加的任何代码,都将在工做流完成(或更糟的状况,忽然终止等)以后才能执行
static void Main(string[] args)
{
WorkflowInvoker.Invoke(new Workflow1());
Console.WriteLine("结束了");
}
上面的”结束了“只能等到工做流结束或者中断后才能执行。