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();
                }

  • 相关阅读:
    datepicker 日期连续选择(需要改源码)
    js 闭包 详解
    chorme模拟微信浏览器
    用phpmailer发邮件 中文乱码问题解决
    微信公众号-开发者-自定义菜单-CLICK事件处理
    微信公众号-开发者-自定义菜单
    腾讯创始人谈风投经验:这9种公司不能投
    微信公众号-个人开发者中心接口权限
    wamp Server2.5 配置 自定义目录
    amcharts 网页绘图插件
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/1378728.html
Copyright © 2011-2022 走看看