WF从入门到精通(第二章):workflow运行时2010-06-03 cnblogs GuoYong.Che学习完本章后,你将掌握:1.在你的应用程序中使用workflow2.理解“WorkflowRuntime”对象的的基本功能3.知道如何启动和停止workflow运行时4.能够使用各种workflow运行时的相关事件当你在WF环境中执行任务时,需要一些东西来监管执行的过程,这个东西就是命名为“WorkflowRuntime”的对象。WorkflowRuntime启动一个独立的工作流任务。在你的任务执行过程中,WorkflowRuntime也会针对不同的情况响应对应的事件。并且,WorkflowRuntime还能在你的执行环境中增加一个附加的服务来保持跟踪。WF架构纵览见下图:

WF和你的应用程序并行执行。其实,我们需要你的应用程序作为宿主。宿主应用程序可以是Windows Forms应用程序,控制台应用程序,ASP.NET WEB应用程序,甚至可以是一个Windows Server。WF运行时和你的应用程序同在一个.NET应用程序域执行,每个应用程序域只有一个唯一的WorkflowRuntime实例,试图在一个应用程序域中建立第二个WorkflowRuntime的实例的话,其结果就是抛出一个“InvalidOperationException”异常。workflow应用程序-“workflows”-意思指创建的逻辑上的一组活动。这些逻辑上的活动用来完成你需要的工作流任务。当你宿主workflow运行时的时候,其实你就在操作工作流中的活动并让workflow运行时执行他们。其结果就是生成一个workflow实例,workflow实例是一个当前正执行的workflow任务,它能自己完成逻辑上的一组活动,回忆第一章吧,活动能执行你提供的代码并且能对输入的数据做出相应的决定。下一章我们将简述工作流实例,后面几章将对活动进行介绍。