• .Net WorkFlow 的简单例子


    Program.cs 后台代码:

    class Program
    {
    static void Main(string[] args)
    {
    //Activity workflow1 = new Workflow1();
    //WorkflowInvoker.Invoke(new Workflow1());
    WorkflowInvoker.Invoke(MyCodeWorkFlow.CreateWorkFlow());
    Console.ReadLine();
    }
    }

    WorkFlow例子 代码 :

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Activities;
    using System.Activities.Expressions;
    using System.Activities.Statements;

    namespace WorkflowConsoleApplication1
    {
    public class MyCodeWorkFlow
    {
    public static Activity CreateWorkFlow()
    {
    //定义两个变量:时钟响几次数,现在的时间(小时)
    Variable<int> count = new Variable<int>()
    {
    Name="count",
    Default=0
    };
    Variable<int> timeNowHour = new Variable<int>()
    {
    Name="timeNowHour",
    Default=DateTime.Now.Hour

    };
    //Sequence 是Activity的子类,里面写逻辑思维
    return new Sequence()
    {
    DisplayName = "Main Sequence",
    Variables = { count, timeNowHour },//表示 全局变量可以在这个域 里使用
    //声明一种活动
    Activities = {
    new WriteLine(){
    DisplayName="问候",
    Text="Hello World !"
    },
    new If()
    {
    DisplayName="判断",
    Condition=ExpressionServices.Convert<bool>(u=>timeNowHour.Get(u)>12),
    Then=new Assign<int>()//Assign 相当于 给某个变量赋值
    {
    To=timeNowHour,// 给 哪个 变量赋值
    Value=new InArgument<int>(m=>timeNowHour.Get(m)-12) // 赋 什么值
    }
    },
    new Sequence()
    {
    DisplayName="时钟报时",
    Activities={
    new While()
    {
    Condition=ExpressionServices.Convert<bool>(u=>count.Get(u)<timeNowHour.Get(u)),
    Body=new Sequence()
    {
    Activities={
    new Assign<int>(){To=count,Value=new InArgument<int>(m=>count.Get(m)+1)},
    new WriteLine(){DisplayName="报时", Text=new InArgument<string>(u=>count.Get(u).ToString())},
    //延时,每隔1秒 ,报时一次
    new Delay(){Duration=TimeSpan.FromSeconds(1)}
    }
    }

    }

    }

    },
    new Sequence() //Sequence 可以理解成 内部类
    {
    DisplayName="当前时间",
    Activities={
    new WriteLine(){ Text=string.Format("当前时间为:"+DateTime.Now.ToString())}
    }

    },
    new Sequence()
    {
    DisplayName ="根据时间的不同 来问好!",
    Activities={
    new If(){Condition=ExpressionServices.Convert<bool>(u=>DateTime.Now.Hour>=18),
    Then=new WriteLine(){Text="晚上好!"},
    Else=new WriteLine(){ Text="白天好!"}
    }


    }

    }

    }


    };

    }
    }
    }

  • 相关阅读:
    如何利用JMeter模拟超过 5 万的并发用户
    JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
    jmeter内存溢出处理方式记录
    JMeter压力测试入门教程[图文]
    本机Tomcat启动myeclipse,用Jmeter录制脚本端口冲突解决办法
    Jmeter 录制脚本
    Jmeter基础之---jmeter基础概念
    Jmeter性能测试 入门
    SSH Secure Shell Client安装和使用
    面向对象2
  • 原文地址:https://www.cnblogs.com/dlf-myDream/p/4617507.html
Copyright © 2020-2023  润新知