`

坚持学习WF(2):WF创作模式和设计时工具

阅读更多

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

Visual Sudio提供了一系列的WF设计工具,这些可以让你更方便更高效的开发你的工作流应用,主要包括以下几部分:

1.Visual Studio项目模板

2.可视化的工作流和活动设计器

3.规则条件设计器

4.工作流调试器

5.命令行编译工具(wfc.exe)

在说这些之前,我们先来说说工作流的类型和创作模式

顺序工作流按逐个顺序执行一组包含的活动,它有明确的开始和结束点,从始至终,一步接一步,沿着一条可能的线路执行,这种工作流适合于重复的,相对固定的操作。而在状态机工作流中,工作流本身由一组状态组成。 将一个状态指示为初始状态。 每个状态都可以接收一组特定事件。 视事件而定,可以转换到另一个状态。 状态机工作流可以有最终状态。 当对最终状态进行转换时,工作流将完成。我们需要根据不同的情景选择不同的工作流。

WF中的工作流有三种创作模式:仅限代码代码分离无代码

仅限代码:这种是默认的创作模式。

代码分离:这种方式的工作流序列化后保存在一个的以.xoml为扩展名的文件中,它的代码保存在.xoml.cs中。.xoml是workflow的一种标记语言,和.xaml有着同样的句法,有人可能会问既然是一样的为什么还要有两个文件名,其实最开始的时候.xoml使用自己的句法,后来才和.xaml一样的,由于历史的原因就接着使用.xoml了,在wpf中是使用的是.xaml,你添加不同类型的文件它会去调用不用的设计器,代码分离的工作流必须进行编译,并且无法直接加载到工作流运行时引擎。

无代码:通过使用可扩展应用程序标记语言 (XAML) 创建标记源文件从而创建工作流的声明性方式,这种方式不被Visual Studio直接支持,你可以将代码部分(.xoml.cs)删除或直接建立xml文件并更改扩展名为.xoml。这种方式可以让你在运行期间直接加载到工作流运行时引擎中,增加了灵活性。这种方式可以使用 x:Code 指令元素在工作流标记文件中插入过程代码。 代码必须位于 CDATA 节中,以使编译器可以编译代码而非将其视为声明性 XAML 标记。如下例:

<SequentialWorkflowActivity x:Class="HelloWorkflow.Workflow2" x:Name="Workflow2" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow> 

  
<CodeActivity x:Name="codeActivity1" ExecuteCode="methodName1"> 
    
<x:Code> 
      
<![CDATA[ 
      void methodName1(object sender, EventArgs e) 
      { 
        System.Console.WriteLine("HelloWorld"); 
      } 
  
]]> 
    
</x:Code> 
  
</CodeActivity> 

</SequentialWorkflowActivity>

然后我们开始说我们的设计时工具

1.Visual Studio项目模板

类型

说明

顺序工作流控制台应用程序 (Sequential Workflow Console Application) 创建用于生成工作流的项目,该工作流包含一个默认的顺序工作流和一个控制台测试宿主应用程序。
顺序工作流库 (Sequential Workflow Library)

创建用于以库的形式生成顺序工作流的项目。

工作流活动库 (Workflow Activity Library) 创建一个用来创建活动的库的项目,以后可以将其作为工作流应用程序中的构造块重用。
状态机控制台应用程序 (State Machine Console Application) 创建用于生成状态机工作流和控制台宿主应用程序的项目。
状态机工作流库 (State Machine Workflow Library) 创建用于以库的形式生成状态机工作流的项目。
空工作流 (Empty Workflow) 创建可以包含工作流和活动的空项目。

2.可视化的工作流和活动设计器

主要有顺序型工作流,状态机工作流设计器。每种都有设计视图,错误处理视图,取消处理视图.

3.规则条件设计器

在 WF 中,通过两种主要方式公开规则技术:一种是作为活动上的条件,另一种是作为策略活动中的正向链接 RuleSet。IfElseBranchActivity、ConditionedActivityGroup、WhileActivity 和 ReplicatorActivity 活动使用条件来控制活动的执行。 条件可以声明方式表示,也可以在代码中定义。 声明性条件以代码 DOM 语句的形式在规则的 XML 文件中创建。 基于代码的条件可引用工作流的代码文件中的一个方法,该方法通过 Result 属性返回其结果。

与条件一样,规则以代码 DOM 语句的形式表示,并收集到规则的 XML 文件中。 规则包含一个条件语句和一些操作集合,这些集合中的操作是根据条件的结果来执行的。 规则将会收集到规则集中,规则集既支持规则的简单依序执行,也支持规则的复杂正向链接。 规则集由 PolicyActivity 活动执行(摘自MSDN)。看下下面的截图:

8

有智能感知的,下面这张图是规则集的设计器

9

4.工作流调试器

调试工作流应用程序也很容易,我们只需要放置断点,你可以在工作的任何一个活动上设置断点,一旦代码流到达设置了断点的活动,Visual Studio 就会将控制权移交给工作流调试器,如何下图:

10

5.命令行编译工具(wfc.exe)

WF提供一个名为 wfc.exe 的命令行工作流编译器可以用来编译工作流,我们也可以使用WorkflowCompiler 类来编译,具体参数什么可以查阅MSDN。

上一篇:坚持学习WF(1):从HelloWorld开始
下一篇:坚持学习WF(3):WF框架概览

分享到:
评论

相关推荐

    WF教程_坚持学习WF

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

    坚持学习WF,WF学习教程

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

    坚持学习WF

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

    坚持学习WF(1):从HelloWorld开始 源码

    在本篇“坚持学习WF(1):从HelloWorld开始”的源码分析中,我们将深入理解WF的基础知识和创建第一个工作流的步骤。 首先,让我们了解WF的基本概念。WF提供了一种模型化业务流程的方式,通过活动(Activities)来表示...

    坚持学习WF(5):自定义活动(CustomActivity) 源码

    通过添加属性,设计器会自动创建输入和输出连接器,使得在工作流设计时可以方便地拖放和连接。 四、使用自定义活动 创建并编译自定义活动后,就可以在其他工作流中使用了。只需将其从工具箱拖放到设计器表面,然后...

    wf工作流资料<转自网上的笔记>

    接着,"坚持学习WF(2):WF创作模式和设计时工具"会深入到WF的设计环境,比如Visual Studio中的工作流设计器,讲解如何利用这些工具来创建和编辑工作流。此外,还会介绍几种常见的工作流模式,如顺序工作流、并行工作...

    WF工作流学习资料

    2. **WF架构**:WF主要包括四个主要组件:设计时环境、运行时引擎、持久化服务和跟踪服务。设计时环境提供图形化的工具来创建和编辑工作流;运行时引擎负责执行工作流;持久化服务确保在需要时能保存和恢复工作流...

    wf设计工具

    在使用WF设计工具时,开发者需要注意以下几点: 1. **集成开发环境(IDE)**:WF设计工具需要在Visual Studio这样的IDE中运行,因为它是.NET Framework的一部分,需要与.NET开发环境紧密结合。 2. **工作流模型**...

    web wf 设计器

    Web WF(Workflow)设计器是一种基于Web的工具,用于创建、编辑和管理工作流流程。它允许用户通过图形化界面设计复杂的业务流程,而无需编写大量的代码。在本篇中,我们将深入探讨Web WF设计器的核心概念、功能以及...

    WF4.0 流程设计器源码例子 (提供状态机模板)

    2. **状态机工作流**:掌握状态机工作流的结构和设计原则,包括初始状态、最终状态、状态转换和事件触发。 3. **自定义设计器**:学习如何创建自定义活动设计器,包括UI元素的布局、交互逻辑和活动属性的编辑。 4....

    wf设计器 wxwinter

    WF设计器wxwinter是一款专用于工作流(WF)和业务流程管理(BPM)的专业设计工具。它提供了丰富的功能,使得用户能够便捷地创建、编辑和管理业务流程。下面将详细介绍这款设计器的主要特点和相关知识点。 1. **工作...

    【翻译】WF从入门到精通(第一章):WF简介源代码下载

    WF的设计模式鼓励重用和模块化,活动可以通过组合和嵌套来创建复杂的工作流。此外,WF还提供了一种强大的规则引擎,使得工作流中的决策逻辑可以动态改变,适应不断变化的业务需求。 源代码下载是学习WF的重要途径,...

    Beginning WF Windows Workflow in .NET 4.0

    书中还探讨了在使用WF时应遵循的设计模式和最佳实践,例如如何合理地使用事务、如何处理错误和异常、如何优化性能等。这些指导原则对于构建稳定、高效的工作流系统至关重要。 #### 5. 集成与扩展 WF提供了丰富的...

    简单的WF4.0工作流设计器

    5. **设计器自定义**:WF4.0允许开发者自定义工作流设计器,以便扩展其功能或适应特定需求。这可能包括自定义活动模板、连接线行为、属性编辑器等。 6. **工作流持久化**:在VS2010RC环境中,开发者可能实现了工作...

    WF源码资料2

    WF源码资料2这个压缩包文件集合显然与Windows Workflow Foundation(WF)有关,这是一个由Microsoft开发的工作流管理和执行框架,用于构建和运行可伸缩、可管理、可靠且灵活的业务流程。WF是.NET Framework的一部分...

    flex wf流程设计器(Workflow)

    总的来说,Flex WF流程设计器是一个强大的工具,它利用Flex的可视化能力和XML的标准化,为业务流程的设计和实施提供了一个便捷的平台。结合JBPM,它可以有效地驱动企业内部的业务流程自动化,提高工作效率,降低管理...

    WF学习从入门到提高

    总的来说,WF学习从入门到提高的过程是一个逐步深入和实践的过程,它需要你理解WF的基本原理,熟悉工作流设计和执行,掌握运行时的运作方式,以及如何在实际项目中有效地应用WF。通过这个资源,你将能够构建出高效、...

    WFDesigner workflow

    2. 支持多种工作流模式:WFDesigner支持多种工作流模型,如顺序流、分支判断、并行处理等,可以灵活适应各种业务需求。 3. 自定义活动:除了内置的常用活动,如审批、发送邮件等,WFDesigner还允许开发者创建自定义...

Global site tag (gtag.js) - Google Analytics