`

坚持学习WF(3):WF框架概览

阅读更多

[置顶]坚持学习WF文章索引

觉得这篇没什么好写的,帽子比较大,说浅了吧没什么东西,说深了又写不完,而且我刚刚研究也深入不到哪去(:-))。WF是一个可扩展的框架并且从下到上、在每个级别都针对可扩展性进行了设计。WF提供一个工作流引擎、一个 .NET 托管 API、运行库服务以及与 Microsoft Visual Studio 2008 集成的可视化设计器和调试器。可使用 Windows Workflow Foundation 来生成并执行同时跨越客户端和服务器的工作流,以及可在所有类型的 .NET 应用程序内部执行的工作流。在网上找了一张比较酷的WF框架图(源自InfoQ):

from_InfoQ_runtime

下面是简单介绍下各个部分:

WF Class Libraries and Framework:

就是WF的基础类库了。

 

工作流引擎:

表示工作流运行时引擎为工作流提供的可配置执行环境,在WF中由WorkflowRuntime类来完成。每个AppDomain只能建一个WorkflowRuntime实例,因为默认情况下一个应用程序就只有一个AppDomain,如果你的应用程序创建另一个附加的AppDomain那么你可以在创建一个WorkflowRuntime的实例。WorkflowRuntime在宿主中以自已独立的线程运行例,它可以加载多个工作流实例,每个工作流实例在WorkflowRuntime有独立的线程.

 

Runtime服务:

WF提供的服务主要有两种:core service和local service,core service是微软已经给我们提供好了的,比如持久化服务,跟踪服务等,core service是实现工作和宿主程序通信的所以也叫做数据交换服务,关于如何注册和使用core service和local service以后在说吧,这的东西还不少。

 

宿主环境:

工作流说白了就是一个程序集(DLL),那必须要有宿主环境,它的宿主环境可以是任何的应用程序,比如控制台的,Windows Form,ASP.NET等,下面的插图显示了如何在一个宿主应用程序的进程中同时承载工作流、活动和工作流运行时引擎(源自MSDN)。

host

 

工作流和活动:

工作流是一组存储为模型的名为活动的基本单元,活动用于描述实际进程。 工作流提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。 此工作从头到尾地贯穿模型,并且活动可以人工执行或由系统功能执行。在WF中工作流实例由WorkflowInstance来表示。

 

下面是在坚持学习WF(1):从HelloWorld开始中HelloWorld程序中的代码,将工作流宿主在控制台程序中。

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(HelloWorld.Workflow1)); 
                instance.Start(); 
                waitHandle.WaitOne(); 
                Console.WriteLine(
"Press any key to exit"); 
                Console.ReadLine();
}

这里主要说下WorkflowRuntime和WorkflowInstance的常用方法:

WorkflowRuntime

StartRuntime()方法:启动引擎。

StopRuntime()方法:停止引擎。

CreateWorkflow()方法:创建工作流实例。

它有一些与引擎状态相关的事件,比如上面代码中的WorkflowCompleted ,WorkflowTerminated 等等。

WorkflowInstance有一些对运行控制的方法Start,Abort,Resume,Terminate等等,这些都可以在MSDN找到,觉得列出来没有什么意义,它有一个InstanceId的属性是得到当前实例GUID,workflow实例使用GUID做为的统一标识。

 

最后WXWinter(冬)http://www.cnblogs.com/foundation/archive/2006/09/27/516644.html这篇文章有个很好例子,推荐大家看下,可以很好的掌握WorkflowRuntime和WorkflowInstance的用法,就这些吧。

上一篇:坚持学习WF(2):WF创作模式和设计时工具
下一篇:坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty)

分享到:
评论

相关推荐

    WF教程_坚持学习WF

    坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动...

    坚持学习WF,WF学习教程

    坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动...

    坚持学习WF

    坚持学习WF(2):WF创作模式和设计时工具 坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) ...

    Beginning WF Windows Workflow in .NET 4.0

    通过学习本书,读者将能够深入了解WF的核心概念和技术细节,掌握如何设计、实现和优化工作流应用,从而提高软件项目的质量和效率。无论是初学者还是有经验的开发者,都能从这本书中获得宝贵的见解和实用的技能。

    WF从入门到精通

    #### 一、WF概览及理论基础 WF,即Workflow,工作流,是一种规范化的、计算机辅助的过程管理方式,用于自动化业务流程中的任务调度与协调。WF的核心在于其能够模拟人类在完成一系列工作过程中所遵循的规则和流程,...

    Pro WF 4.5

    #### 一、Windows Workflow Foundation (WF) 概览 Windows Workflow Foundation (WF) 是一项由微软提供的 .NET 技术,它允许开发者通过定义工作流而非传统的编程方式来开发软件。WF 的核心在于能够以视觉化模型或...

    WF从入门到精通(1-16章)

    ### WF从入门到精通知识点概览 #### 第一章:WF简介 - **工作流概念与理论**:工作流(Workflow)是一种业务过程的模型化表示,用来描述一系列任务的组织、协调和管理过程。WF(Windows Workflow Foundation)是...

    Pro WF 4.5.pdf

    本章节可能会解释WF的基本术语,如活动(Activities)、工作流(Workflow)、执行模型(Execution Model)等,并提供了一个概览,让读者对如何构建和运行一个工作流有一个初步的认识。 第三章Windows Workflow活动...

    Programming Windows Workflow Foundation - Practical Wf Techniques And Examples Using Xaml And C# - 2006

    综上所述,《Programming Windows Workflow Foundation - Practical WF Techniques and Examples using XAML and C#》是一本全面介绍WF框架的指南书籍,它不仅涵盖了WF的基础知识和技术要点,还提供了丰富的实践案例...

    Essential Workflow Foundation

    #### 一、Windows Workflow Foundation (WF) 概览 - **WF 的定义**:Windows Workflow Foundation(WF)是 .NET Framework 的一部分,它为创建和运行工作流应用程序提供了一套框架和服务。 - **WF 的重要性**:WF ...

    NET_Framework_3_概览

    通过学习.NET Framework 3,开发者不仅可以掌握构建现代Windows应用程序的基础,还能了解到如何利用WPF、WCF和WF等新技术实现更高效、更具交互性的软件。对于初学者来说,这是一个了解和深入.NET世界的好起点。提供...

    Essential Windows Workflow Foundation For .Net Framework 3.5

    **Windows Workflow Foundation (WF)** 是微软提供的一套用于构建业务流程的应用程序框架。它通过提供一组编程模型、API和服务,使得开发人员能够更加轻松地创建和集成复杂的工作流应用程序。WF的主要特点包括: - ...

    Windows Workflow Fundation

    Windows Workflow Foundation(WF)是Microsoft在.NET Framework中引入的一个工作流编程框架,它为开发人员提供了一种创建可编程业务流程的新方法。WF旨在使开发人员能够构建灵活且可重用的工作流应用程序,这些应用...

    Microsoft Windows Workflow Foundation 4.0 Cookbook

    - **WF 4.0概述**:Windows Workflow Foundation 4.0(简称WF 4.0)是微软提供的一种用于构建业务流程应用程序的技术框架。WF 4.0 是WF 3.5 的重大更新版本,旨在为开发者提供更加灵活、可扩展的工作流设计与执行...

    Windows Workflow Foundation构建工作流应用

    3. **以工作流为中心的框架与 API**:WF 提供了一个以工作流为中心的框架和一组丰富的 API,这些 API 使得开发者能够构建高度可扩展的工作流应用程序。 4. **集成的开发环境 / 语言**:WF 完美地集成了 Visual ...

    microsoft-windows-workflow-foundation-4-0-cookbook.pdf

    **Windows Workflow Foundation (WF)** 是由Microsoft开发的一个用于构建工作流应用和服务的框架。WF 4.0是WF的重要版本之一,它在之前的版本基础上进行了大量的改进和优化,提供了更加强大且灵活的工作流设计和执行...

    .net学习曲线图

    ### .NET学习曲线图概览 #### A部分:基础框架(Framework) - **XML**:在.NET中,XML是一种常用的数据交换格式,被广泛用于配置文件、数据存储和Web服务通信。 - **SQL Server/ADO.NET/LINQ**:这部分涵盖了...

Global site tag (gtag.js) - Google Analytics