• 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("撤销流程");

  • 相关阅读:
    作业11
    作业10总结
    作业10
    作业9总结
    作业9
    作业8总结
    作业8
    实验7总结
    实验6总结
    史航第12次作业&总结
  • 原文地址:https://www.cnblogs.com/icoolno1/p/1825153.html
Copyright © 2020-2023  润新知