zoukankan      html  css  js  c++  java
  • WorkFlow之顺序工作流学习

    一、打开vs2008----添加新项目---顺序工作流控制台应用程序

    二、在工具箱中找到IfElse。将它拖入到我们的设计界面上。

    三、选择“ifElseBranchActivity1”---“属性”---选择Condition下拉列表中的“代码条件”,再输入处理事件的名称“isok”。回车,VS会自动的生成处理代码。

            private string str;
            public string Str
            {
                get { return str; }
                set { str = value; }
            }
            private void isok(object sender, ConditionalEventArgs e)
            {
                if (Str == "aa")
                    e.Result = true;
                else
                    e.Result = false;
            }

    四、创建分支的处理程序。现在我们返回设计界面。向左右的分支拖入Code控件。

    选择“codeActivity1”--属性ExecuteCode中输入“istrue”,回车,

            private void istrue(object sender, EventArgs e)
            {
                Console.WriteLine("is ok!");
            }

    选择“codeActivity2”--属性ExecuteCode中输入“isfalse”,回车,

            private void isfalse(object sender, EventArgs e)
            {
                Console.WriteLine("is not ok!");
            }

    五、至此。我们的workflow代码编写完毕。现在我们需要稍稍的修改下我们的Program.cs文件。打开Program.cs文件。找到

    WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof...

    在其上面插入以下代码用作传递参数到workflow中。

    using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
                {
                    AutoResetEvent waitHandle = new AutoResetEvent(false);
                    workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();};
                    workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
                    {
                        Console.WriteLine(e.Exception.Message);
                        waitHandle.Set();
                    };
                    Console.WriteLine("enter a word:");
                    string str = Console.ReadLine();

                    Dictionary<string, object> dic = new Dictionary<string, object>();
                    dic.Add("Str", str);
                    WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleTest1.Workflow1), dic);
                    instance.Start();

                    waitHandle.WaitOne();
                    Console.ReadLine();
                }

  • 相关阅读:
    Python语言程序设计(1)--实例1和基本知识点
    前端学习笔记--函数
    知乎推荐书籍整理
    第六周周总结
    第五周总结
    第四周周总结
    第三周周总结
    第二周总结
    第一周总结
    项目目标
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/1378728.html
Copyright © 2011-2022 走看看