none
Kilxy的WF(Windows Workflow Foundation)学习手记(三) RRS feed

  • 常规讨论

  • 2.5            Activity的其他概念

     

    在自定义Activity时还有几个比较重要的概念,分别是DesignerActivityValidatorCodeGeneratorSerializerToolboxItem和定义行为的SupportsTransactionSupportsExceptionHandlers。实际上这些该是ActivityAttribute类,分别制定了Activity在设计器中的UI界面、对Activity在设计期间的完整性校验、Activity的序列化等操作。具体内容我会在后面章节具体介绍,这里只介绍如何使用。

     

    [Designer(typeof(CustomActivityDesinger),typeof(IDesigner))]

     

    [ActivityValidator(typeof(SendEmailValidator))]

     

    public partial class SendEmailActivity :

     

    System.Workflow.ComponentModel.Activity

     

        {

     

            ......

     

    }

     

     

    public class CustomActivityDesinger : ActivityDesigner

     

    {

     

        ......

     

    }

     

     

    public class SendEmailValidator :

     

     System.Workflow.ComponentModel.Compiler.ActivityValidator

     

    {

     

        ......

     

    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    2009年6月18日 8:40

全部回复

  • 2.6            Activity分类

     

    现在提供的Activity大约有28种,分成8类:

     

    1:   Control Flow Activity:控制流程类

     

    2:   Workflow Lifetime Activity:工作流相关

     

    3:   Event Waiting Activity:事件类

     

    4:   Transaction and Exception Activity:事务和异常处理类

     

    5:   Data-Centic Activity:数据(交换)处理类

     

    6:   WebService ActivityWeSerivice的处理

     

    7:   The Code Activity:代码处理类

     

    8:   State Workflow Activity:状态机工作流处理类

     

    9:   其它,Custom Activity:用户自定义类

     

     

    分类中具体的Activity如下:

     

    1:   Control Flow Activity:控制流程类

     

    *          Sequence Activity:顺序流程

     

    *          Parallel Activity:并行流程

     

    *          IfElse Activity:条件判断流程

     

    *          While Activity:循环流程

     

    *          ConditionedActivityGroup:条件组

     

    *          Replicator Activity:自我复制。可以在运行中自我复制实例。

     

    *          Delay Activity:延时执行。

     

    2:   Workflow Lifetime Activity:工作流相关

     

    *          InvokeWorkflow Activity:调用执行另外的工作流

     

    *          Suspend Activity:暂停当前执行的工作流

     

    *          Terminate Activity:中止工作流

     

    3:   Event Waiting Activity:事件类

     

    *          EventDriven Activity:等待事件驱动。指定要等待处理的事件名,参数等

     

    *          Listen Activity:侦听消息。这个可以同时侦听很多消息。一个Listin里面有多个EventDriven

     

    4:   Transaction and Exception Activity:事务和异常处理类

     

    *          Transaction Context Activity:处理事务中的上下文,支持短期、长期的事务。

     

    *          Throw Activity:抛出异常

     

    *          ExceptionHandler:异常处理。

     

    *          Compensate Activity:补偿处理,只能放在Exception中,处理一些回滚处理等。

     

    5:   Data-Centic Activity:数据(交换)处理类:用于WF处理空间和Host空间之间的数据交换。

     

    *          UpdateData ActivityWF把数据更新到Host

     

    *          SelectData ActivityWF发向Host的请求

     

    *          WaitForData Activity

     

    *          WaitForQuery ActivityHost发向WFWF返回DataSource

     

    6:   WebService ActivityWeSerivice的处理

     

    *          InvokeWebService Activity:调用WebService

     

    *          WebServiceReceive Activity

     

    *          WebServiceResponse Activity

     

    7:   The Code Activity:代码处理类

     

    *          Code Activity:可写一些代码。但是我不觉得这样的处理好,因为这样的逻辑有点写死进程序里了。

     

    8:   State Workflow Activity:状态机工作流处理类

     

    *          State:状态。状态机的一个状态。一个工作流必须有个初始状态,有个结束状态。

     

    *          StateInitialization:初始状态。我好像没用过这个

     

    *          SetState:设置下一个状态。

     

     

    9:   Custom Activity:用户自定义状态。

    转自:http://www.cnblogs.com/kilxy/

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    2009年6月18日 8:40