工作流学习笔记-给工作流传递参数

简介: C#->控制台顺序工作流->拖放code->双击生成事件处理程序 using System; using System.ComponentModel; using System.ComponentModel.

C#->控制台顺序工作流->拖放code->双击生成事件处理程序

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;

namespace WorkflowConsoleApplication1
{
	public sealed partial class Workflow1: SequentialWorkflowActivity
	{
        public string MyName { get; set; }

        public int MyID { get; set; }
		public Workflow1()
		{
			InitializeComponent();
		}

        private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(600);
            Console.WriteLine("My ID Is :{0}", this.MyID);            
            Console.WriteLine("My Name Is :{0}", this.MyName);            
        }
	}

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;

namespace WorkflowConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
            {
                AutoResetEvent waitHandle = new AutoResetEvent(false);
                //工作流完成时触发
                workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) 
                {
                    //通知waitHandle,释放控制台应用程序
                    waitHandle.Set();
                };
                //工作流发生错误时触发
                workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
                {
                    Console.WriteLine(e.Exception.Message);
                    waitHandle.Set();
                };

                //构造参数
                Dictionary<string, object> wf_args = new Dictionary<string, object>();
                wf_args.Add("MyID", 1);
                wf_args.Add("MyName", "allen");

                //创建工作流的实例并启动工作流
                WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication1.Workflow1), wf_args);
                instance.Start();

                //让控制台等待工作流的完成
                waitHandle.WaitOne();

                Console.ReadKey();
            }
        }
    }
}

目录
相关文章
|
7月前
工作流介绍
工作流介绍
|
7月前
|
测试技术 API Python
创建一个自定义的工作流
阿里云云效工作流(Alibaba Cloud Workflow)是一个强大的自动化工具,可以帮助您实现各种业务流程的自动化
88 2
|
Serverless
函数工作流
函数工作流自制脑图
156 0
函数工作流
powerjob配置工作流
powerjob工作流内配置依赖关系及判断节点
1056 0
powerjob配置工作流
|
存储 弹性计算 监控
浅析数据工作流Prefect
简述 Prefect 是一种新的工作流管理系统,专为现代基础设施而设计,由开源的 Prefect Core 工作流引擎提供支持。 用户只需将任务组织成流程,Prefect 负责其余的工作,可让您非常容易使用数据工作流并添加重试、日志记录、动态映射、缓存、失败通知等语义。
|
XML Java Unix
不了解工作流框架 Activiti 中的流程事件?这篇工作流流程元素详解,带你详细分析工作流流程执行过程中的各种事件
本文介绍了工作流Activiti框架中BPMN结构中各种事件。主要包括定时器事件,错误事件,信号事件,消息事件,开始事件,结束事件,边界事件,中间捕获事件以及内部触发事件。通过对BPMN中各种事件的学习了解,可以帮助我们在项目中更加方便地对工作流中各种处理流程进行应用,极大提高了项目的开发效能。
1073 0
不了解工作流框架 Activiti 中的流程事件?这篇工作流流程元素详解,带你详细分析工作流流程执行过程中的各种事件
|
运维 Shell 调度