zoukankan      html  css  js  c++  java
  • MS WF4.0简介

    如何运行工作流?

    使用WorkflowApplication 这个类,代码如下:

               

    //工作初始参数

    Dictionary<string,object> inputs=new Dictionary<string,object>();

           

    //创建工作流实例

    WorkflowApplication app = new WorkflowApplication(new Activity1(), inputs);

    //使用sqlserver来保存工作流的状态           

    app.InstanceStore = new SqlWorkflowInstanceStore();

    //运行工作流           

    app.Run();

    如何等待用户输入?

    使用工作流的书签功能,不过WF里没有提供现成的书签,需要你自定义一个活动,来创建书签等待用户输入。具体就是继承NativeActivity,代码如下:

        public sealed class ParametersReciever : NativeActivity<WFParameters>

        {

    //必须实现Execute这个方法,当工作流程走到这个活动的时候,创建一个书签,等待用户的输入。

            protected override void Execute(NativeActivityContext context)

            {

                context.CreateBookmark("params", new BookmarkCallback(OnReadComplete));

            }

            void OnReadComplete(NativeActivityContext context, Bookmark bookmark, object state)

            {

                WFParameters input = state as WFParameters;

                context.SetValue(this.Result, input);

            }

    }

     

    如何返回工作流状态?

    使用InvokeMethod活动,这个活动可以调用静态方法,或对象方法。具体设置如下图所示:

     

    TargetType和TargetObject是互斥的,前者表示包含静态方法的类,后者表示实例对象。

    设置参数

    如何终止流程

    使用WorkflowApplicationTerminate方法。撤销的流程将会被永久终止。代码如下:

                Dictionary<string,object> inputs=new Dictionary<string,object>();

                WorkflowApplication app = new WorkflowApplication(new Activity1(), inputs);

                app.InstanceStore = new SqlWorkflowInstanceStore();

                app.Run();

                Guid id = new Guid("11b4b3e4-32db-4698-9fe2-5d783e23c65f");

    //加载工作流实例

                app.Load(id);

    //终止流程

                app.Terminate("撤销流程");

  • 相关阅读:
    Maven打包时过滤测试代码或指定特定的测试类(maven-surefire-plugin)
    Maven项目配置外部依赖(本地依赖)
    手把手教你创建「人物角色Persona」
    微服务与Docker介绍
    深入学习微框架:Spring Boot
    技术干货:我们的项目是如何技术选型的
    为什么选择Spring Boot作为微服务的入门级微框架
    Android Material Design 兼容库的使用详解
    Android 实现QQ、微信、新浪微博和百度第三方登录
    Android ijkplayer详解使用教程
  • 原文地址:https://www.cnblogs.com/icoolno1/p/1825153.html
Copyright © 2011-2022 走看看