`
cloudtech
  • 浏览: 4610104 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

WF活动(Activity)

 
阅读更多

    一、WF活动概述:WF活动的顶层类的关系:

    活动条件类型:

    代码条件:

    规则条件:关联.rules文件。

    二、简单概述WF的基本活动:

    IFElseActivity活动:在工作流中做一些分支决定。每个分支用一个IfElseBranchActivity表示。

    WhileActivity活动:当需要重复执行子活动,直到条件满足进行退出时,可以使用WhileActivity活动

    ParalleActivity活动:可以包含两个或多个SequenceActivity活动,也只有sequenceActivity活动才可以成为ParallelActivity的子活动。他并不是同时执行多个分支,每个工作流实例执行在单一的线程上,因此并行执行多个活动部可能。并不能保证sequenceActivity执行活动的顺序。

    使用ReplicatorActivity活动:可以模拟C#Foreach语句,改活动创建和执行单一活动的多个备份。ReplicatorActivity中的子活动被认为是一个被创建的子活动实例的一个模板。在ActivityInitialChildData属性内,被传递一个种子的数据集合来处理。InitialChildData的属性是一个IList的集合。当ReplicatorActivity执行时,会对位于InitialChildData活动中的每个元素从活动模板中克隆并执行。ReplicatorActivity支持不同模式的操作,可以设置ExecutionType属性来进行设置,分别是SequentialParallel,指示复制子活动的实例是以并行方式还是顺序方式执行。

    使用ConditionedActivityGroup活动是一个组合活动,允许构建相对复制的工作流。该活动实际上具有一些ParallelActivitywhileActivity行为,属于一种混合活动类型。接受一个或多个希望执行的子活动。子活动从左向右执行,将只有一个子活动被执行。每个子活动定义一个WhenCondition条件,决定活动是否应该被执行。如果定义了子活动的结果为True,则下一次序改子活动被执行一次,并且子活动持续执行直到WhenCondition的值为false。如果子活动的WhenCondition没有被定义,则子活动仅执行一次。

    使用InvokeWorkflowActivity活动允许当前工作流执行一个新的工作流作为其步骤。InvokeWorkflowActivity要求工作流运行时使用当前附加到该运行时的计划程序创建新的工作流。所调用的工作流只能接受输入参数。不支持工作流完成后获取输出参数。

  1. 使用TerminateActivity活动和SubspendActivity活动:TeminiateActivity被用于声明性的终止当前工作流,当工作流终止时,触发WorkflowTerminated事件。SubspendActivity活动,挂起当前工作流,此时WorkflowSuspended事件被触发。
  2. 二、本地服务和事件驱动的活动:WF中的服务可分为核心服务和本地服务。核心服务由WF定义,而本地服务由开发人员定义。本地服务大都用于工作流和宿主之间进行通信。

  3. 工作流主要在以下方面和本地服务进行交互:
  4. 调用本地服务的一个方法;

    等待本地服务引发一个事件;

    步骤:定义一个服务契约;为接口应用ExternalDataExchangeAttribute特性;定义继承接口的类;创建一个服务实现类的实例,并添加到工作流运行时引擎,

  5. 使用本地服务在宿主和工作流之间通信:以投票为例来演示。这次将会弹出一个确认框来让用户选择,根据选择继续工作流。
  6. 首先考虑宿主传递一个用户的别名到工作流中。当工作流提示用户投票时,需要这个别名。为了在宿主和工作流之间传递参数。定义一个ExternalDataEventArgs派生参数类:代码:

    然后工作流需要知道用户选择了什么,需要定义两个事件,让工作流触发外部事件,当批核后,触发批核事件,批核工作流得以执行。反之执行拒绝工作流。

    ApprovedProposalRejectProposal类似于两个信号,通知工作流执行,工作流将使用HandleExternalEventActivity来处理外部事件。

    定义类实现接口:

    工作流设计:添加一个CallExternalMothodActivity来调用CreateBallot方法;添加一个ListenActivity,等待多个事件中的任何一个事件发生。在该活动中

    添加2HandleExternalEventActivity,分别监听ApprovedProposalRejectProposal

    当工作流批核或拒绝后,同时响应两个活动的Invoked事件。

    最后注册服务。

  7. 事件驱动活动简介:一些活动是组合活动,这种类型的活动作为其他事件处理活动的容器,比如EventDrivenActivityListenActivity
  8. 使用EventHandlingScopeActivity活动:定义一个完全不同事件的处理活动,它具有2个分离的区域:主要子活动和一套事件处理活动。除了子活动,事件处理活动被包含在一个或多个EventHandlersActivity内部,作为EventHandlingScopeActivity的子活动。EventHandlingScopeActivity会将其主子活动与EventHandlersActivity活动并行执行。
分享到:
评论

相关推荐

    WF 4.0 and Activity Designer tidbits

    WF 4.0 and Activity Designer tidbits,Custom CanvasActivity

    WF教程_坚持学习WF

    坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动(CustomActivity) 4.5两篇对主要对活动(Actibity)的介绍和依赖属性(DependencyObject)和DependencyProperty事件的使用。 ...

    坚持学习WF,WF学习教程

    坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动(CustomActivity) 4.5两篇对主要对活动(Actibity)的介绍和依赖属性(DependencyObject)和DependencyProperty事件的使用。 ...

    自定义活动(CustomActivity)

    当WF提供的标准活动不能满足我们的需求的时候,我们就需要定义自己的活动。工作流引擎并不会区别一个活动是WF提供的标准活动还是第三方自定义活动.自定义活动有两种方式,组合方式和继承方式.组合是你从工具箱里拖出...

    坚持学习WF

    坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动(CustomActivity) 4.5两篇对主要对活动(Actibity)的介绍和依赖属性(DependencyObject)和DependencyProperty事件的使用。...

    软件测试中WF单元测试测试Activity的行为

    行为软件测试中WF单元测试测试Activity的行为我们只是使用VSTS的单元测试工具,捕获了一个期待的异常,这样简单的行为测试当然是不能满足我们的需求的,我们要进一步测试Activity的更多,更复杂的行为。比如我们有一...

    活动基本解析

    )因为控制流活动需要与 WF 运行时交互,所以它们都是从 NativeActivity 类型派生的复合活动。控制流活动通常用于安排其他活动(例如 Sequence、Parallel 或 Flowchart),但也可能包含以下活动:使用 ...

    Antioxidant activity of marine lactic acid bacteria strains

    海洋乳酸菌抗氧化活性研究,高原,妥彦峰,本文以筛选海洋来源抗氧化活性乳酸菌为出发点,海洋抗氧化活性乳酸菌加以利用。通过徒步平板法结合接触酶实验、格兰仕染色实验共

    wf4.0入门系列(六)

    wf4.0入门系列(六)VS2012 C#

    WorkFlowCHM.CHM

    微软工作流workflow使用教程,...(二十六) Interop调用WF3.X的Activity (二十七) WCF Workflow Service 在WCF中使用WF (二十八) WF调用PowerShell (二十九) WorkflowInspectionServices (三十 完) 对学习WF的一点建议

    WF表决的例子

    火龙果软件工程技术中心 先看一下基本流程的草图说一下用WF的实现思路1.设计[表决人发表意见]的Activity,这是一个通知,回复的过程,所以用一个组CallExternalMethod与HandleExternalEvent实现通知与等待回复2.由于...

    Essential Workflow Foundation

    很好的Workflow入门书籍 1 Deconstructing WF 2 WF Programs 3 Activity Execution 4 Advanced Activity Execution 5 Applications 6 Transactions 7 Advanced Authoring 8 Miscellanea

    countersignature.rar

    一组与业务相关的Activity 一个提供WCF服务的WF宿主 持久化,以便在WF宿主重新启动后可以继续以前的流程 一个通过WCF进行通讯的WPF客户端 WF的状态表 注:本例没有提供组织结构体系,用户权限系统的演示

    vs2008新特性:工件流学习资料

    WF的笔记:Activity功能控件,队列,WorkflowRuntime与WorkflowInstance......

    SwissNow - ServiceNOW toolbox-crx插件

    列表上的工作流程(WF_ACTIVITY_LIST.DO)的比较包括活动变量(例如runscript操作中的脚本)8.将所有行/记录相互比较9.在标签中添加前缀标题 - 前缀将指示您连接的ServiceNow环境10.观看列表。您可以监控列表查询的...

    SwissNow——ServiceNOW工具箱「SwissNow - ServiceNOW toolbox」-crx插件

    列表(wf_activity_list.do)上所有工作流活动的比较包括活动变量(例如RunScript操作中的脚本)14.列表中的所有行/记录彼此进行比较15.编辑使用您喜欢的IDE /编辑器在本地ServiceNow后台脚本(按CTRL-Enter执行脚本...

    workflow student guide-工作流手册

    Activity Statuses 3-10 Calling the Workflow Engine 3-11 Oracle Workflow APIs 3-12 Workflow Engine APIs 3-13 Background Engine 3-16 Deferred Processing 3-18 Timed Out Notification Activities 3-19 ...

    .Net.Framework3.5开发技术详解

    .Net.Framework3.5开发技术详解 完整程度:99%完整 少最后8页 清晰度:一般 格式:PDF ...19.2 Activity(活动) 19.3 WF运行时 19.4 基于状态机的工作流 19.5 工作流的持久化 19.6 工作流的XAML表示

Global site tag (gtag.js) - Google Analytics