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 标记。如下例:
<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)。看下下面的截图:
有智能感知的,下面这张图是规则集的设计器
4.工作流调试器
调试工作流应用程序也很容易,我们只需要放置断点,你可以在工作的任何一个活动上设置断点,一旦代码流到达设置了断点的活动,Visual Studio 就会将控制权移交给工作流调试器,如何下图:
5.命令行编译工具(wfc.exe)
WF提供一个名为 wfc.exe 的命令行工作流编译器可以用来编译工作流,我们也可以使用WorkflowCompiler 类来编译,具体参数什么可以查阅MSDN。
上一篇:坚持学习WF(1):从HelloWorld开始
下一篇:坚持学习WF(3):WF框架概览
发表评论
-
平淡的2007
2007-12-24 08:04 816早上起来,送女朋友去公交车站,然后回来赶紧打开电脑,先 ... -
DreamSpark发布,高校学生免费使用Visual Studio 2008 Professional Edition 等微软软件
2008-02-20 13:23 1414今天上网无意中搜索到学生可以免费使用VS2008专业版,后来又 ... -
坚持学习WF(1):从HelloWorld开始
2008-04-04 16:30 891[置顶]坚持学习WF文章索 ... -
坚持学习WF(3):WF框架概览
2008-04-08 07:27 783[置顶]坚持学习WF文章索 ... -
坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty)
2008-04-12 00:01 1147[置顶]坚持学习WF文章索引 活动(Activity) 活动 ... -
坚持学习WF(5):自定义活动(CustomActivity)
2008-04-13 15:25 928当WF提供的标准活动不能满足我们的需求的时候,我们就需要定义自 ... -
MOSS点滴(1):如何开发和部署feature
2008-04-16 21:35 835Features 是MOSS 2007以开箱即用的一套新功能, ... -
MOSS点滴(2):自定义Application Page
2008-04-19 20:07 844在MOSS中后台管理的页面都是Application Pag ... -
坚持学习WF(6):开发可复用的宿主程序
2008-04-21 21:45 695我们之前写工作流宿主 ... -
MOSS点滴(3):说说MOSS中的母版页
2008-04-25 21:15 1187MOSS中有两种页面:Site P ... -
MOSS点滴(4):实现Form认证
2008-04-29 21:12 704本文主要参考了网上的一些文章,但有些文章有些地方说的不是很明确 ... -
坚持学习WF(7):流程控制(Flow Control)
2008-04-30 18:10 837本文主要说说WF中和流 ... -
坚持学习WF(8):本地服务之调用外部方法
2008-05-09 08:17 760WF提供了一组核心服务 ... -
MOSS中的WebPart开发
2008-05-10 13:53 1060由于在asp.net1.1的时候asp.net中还没有webp ... -
坚持学习WF(9):本地服务之事件处理
2008-05-28 07:49 799[置顶]坚持学习WF文章索引 一:先来介绍两个活动 Even ... -
坚持学习WF(10):在工作流中使用关联
2008-06-01 13:03 691[置顶]坚持学习WF文章索 ... -
坚持学习WF(11):工作流通信与队列
2008-06-07 15:45 735[置顶]坚持学习WF文章索引 WF 提供的通信模型是构建于 ... -
MOSS中创建自定义内容类型
2008-06-12 20:23 1106一:简要介绍 某类内容 ... -
.NET中IDisposable接口的基本使用
2008-06-15 12:01 950首先来看MSDN中关于这个接口的说明: [ComVisible ... -
坚持学习WF(12):使用EventHandlingScopeActivity活动
2008-06-18 22:46 684[置顶]坚持学习WF文章索引 EventHandlingSco ...
相关推荐
坚持学习WF(2):WF创作模式和设计时工具 坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) ...
坚持学习WF(2):WF创作模式和设计时工具 坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) ...
坚持学习WF(2):WF创作模式和设计时工具 坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) ...
在本篇“坚持学习WF(1):从HelloWorld开始”的源码分析中,我们将深入理解WF的基础知识和创建第一个工作流的步骤。 首先,让我们了解WF的基本概念。WF提供了一种模型化业务流程的方式,通过活动(Activities)来表示...
通过添加属性,设计器会自动创建输入和输出连接器,使得在工作流设计时可以方便地拖放和连接。 四、使用自定义活动 创建并编译自定义活动后,就可以在其他工作流中使用了。只需将其从工具箱拖放到设计器表面,然后...
接着,"坚持学习WF(2):WF创作模式和设计时工具"会深入到WF的设计环境,比如Visual Studio中的工作流设计器,讲解如何利用这些工具来创建和编辑工作流。此外,还会介绍几种常见的工作流模式,如顺序工作流、并行工作...
2. **WF架构**:WF主要包括四个主要组件:设计时环境、运行时引擎、持久化服务和跟踪服务。设计时环境提供图形化的工具来创建和编辑工作流;运行时引擎负责执行工作流;持久化服务确保在需要时能保存和恢复工作流...
在使用WF设计工具时,开发者需要注意以下几点: 1. **集成开发环境(IDE)**:WF设计工具需要在Visual Studio这样的IDE中运行,因为它是.NET Framework的一部分,需要与.NET开发环境紧密结合。 2. **工作流模型**...
Web WF(Workflow)设计器是一种基于Web的工具,用于创建、编辑和管理工作流流程。它允许用户通过图形化界面设计复杂的业务流程,而无需编写大量的代码。在本篇中,我们将深入探讨Web WF设计器的核心概念、功能以及...
2. **状态机工作流**:掌握状态机工作流的结构和设计原则,包括初始状态、最终状态、状态转换和事件触发。 3. **自定义设计器**:学习如何创建自定义活动设计器,包括UI元素的布局、交互逻辑和活动属性的编辑。 4....
WF设计器wxwinter是一款专用于工作流(WF)和业务流程管理(BPM)的专业设计工具。它提供了丰富的功能,使得用户能够便捷地创建、编辑和管理业务流程。下面将详细介绍这款设计器的主要特点和相关知识点。 1. **工作...
WF的设计模式鼓励重用和模块化,活动可以通过组合和嵌套来创建复杂的工作流。此外,WF还提供了一种强大的规则引擎,使得工作流中的决策逻辑可以动态改变,适应不断变化的业务需求。 源代码下载是学习WF的重要途径,...
书中还探讨了在使用WF时应遵循的设计模式和最佳实践,例如如何合理地使用事务、如何处理错误和异常、如何优化性能等。这些指导原则对于构建稳定、高效的工作流系统至关重要。 #### 5. 集成与扩展 WF提供了丰富的...
5. **设计器自定义**:WF4.0允许开发者自定义工作流设计器,以便扩展其功能或适应特定需求。这可能包括自定义活动模板、连接线行为、属性编辑器等。 6. **工作流持久化**:在VS2010RC环境中,开发者可能实现了工作...
WF源码资料2这个压缩包文件集合显然与Windows Workflow Foundation(WF)有关,这是一个由Microsoft开发的工作流管理和执行框架,用于构建和运行可伸缩、可管理、可靠且灵活的业务流程。WF是.NET Framework的一部分...
总的来说,Flex WF流程设计器是一个强大的工具,它利用Flex的可视化能力和XML的标准化,为业务流程的设计和实施提供了一个便捷的平台。结合JBPM,它可以有效地驱动企业内部的业务流程自动化,提高工作效率,降低管理...
总的来说,WF学习从入门到提高的过程是一个逐步深入和实践的过程,它需要你理解WF的基本原理,熟悉工作流设计和执行,掌握运行时的运作方式,以及如何在实际项目中有效地应用WF。通过这个资源,你将能够构建出高效、...
2. 支持多种工作流模式:WFDesigner支持多种工作流模型,如顺序流、分支判断、并行处理等,可以灵活适应各种业务需求。 3. 自定义活动:除了内置的常用活动,如审批、发送邮件等,WFDesigner还允许开发者创建自定义...