微软工作流WWF入门<第一篇>

  工作流是什么东西?暂时还不是很弄得清除。

  工作流是用来解决什么问题的?暂时只是形成了一个很模糊的概念,还没办法用语言描述出来。

一、入门范例

  以VS2008为例,先来创建一个WWF程序。

  

  在工具箱中,拖一个Code到"活动"中

  

  打开codeActivity1的属性面板,在ExecuteCode里双击,然后进入,键入如下代码:

namespace WorkflowConsoleApplication1
{
    public sealed partial class Workflow1 : SequentialWorkflowActivity
    {
        public Workflow1()
        {
            InitializeComponent();
        }

        private void CodeExecute(object sender, EventArgs e)
        {
            Console.WriteLine("Hello World -- 工作流启动了!");
            Console.ReadKey();
        }
    }
}

  启动,项目,输出如下:

  

二、创建应用程序项目

  WWF工作流都是控制台程序,为了更好地给大家进行演示,这里创建一个Windows应用程序作为它的宿主的载体。

  新建一个Windows Form应用程序,引用如下控件。

  

  和之前一样,在Winform程序中,创建一个工作流项目,结构如下

  

  在Winform程序的代码(Winform引用工作流项目):

    public partial class Form1 : Form
    {
        //定义工作流运行时Runtime容器
        private WorkflowRuntime workflowRuntime;
        //定义工作流实例
        private WorkflowInstance workflowInstance;

        public Form1()
        {
            InitializeComponent();

            //启动工作流运行时的容器
            workflowRuntime = new WorkflowRuntime();
            workflowRuntime.StartRuntime();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //指定需要引用的工作流名称
            Type type = typeof(WorkflowConsoleApplication1.Workflow1);

            //在工作流运行时Runtime容器中注册一个工作流实例
            workflowInstance = workflowRuntime.CreateWorkflow(type);

            //启动该工作流实例
            workflowInstance.Start();
        }
    }

  工作流的代码Console.Write()改为MessageBox.Show();

    private void codeActivity1_ExecuteCode(object sender, EventArgs e)
    {
        MessageBox.Show("Hello World -- 工作流启动了!");
    }

  点击按钮,输出如下:

  

时间: 2024-10-09 20:54:03

微软工作流WWF入门<第一篇>的相关文章

html/css入门第一篇

1.基本教程学习 大概三天业余时间看完下面两个教程. HTML文字教程 CSS文字教程 2.练习 看完教程后,做第一练习时,总结如下: 1)div居中 需要设置属性:margin-left:auto; margin-right:auto; 2) 给图片加链接后,图片有边框,消除边框方法:给图片设置属性 border-width:0px; 3)图片相连时,图片间有距离,消除图片间距离:给图片设置属性 display: block; html/css入门第一篇

ElasticSearch入门 第一篇:Windows下安装ElasticSearch

https://www.elastic.co/downloads/past-releases/elasticsearch-2-4-4 这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档

PowerBI入门 第一篇:创建第一个PowerBI报表

PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据.PowerBI主要由两部分组成:PowerBI Desktop和 PowerBI Service,前者供报表开发者使用,用于创建数据模型和报表UI,后者是管理报表和用户权限,以及查看报表(Dashboard)的网页平台(Web Portal).在开始PowerBI制作报表之前,请先下载 PowerBI Desktop桌面开发工具,并注册Po

Zookeeper 入门第一篇

转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单介绍 1. 概述 Zookeeper简单来说就是一个分布式协调技术的具体实现,所谓分布式协调技术就是在集群环境下,协调集群中多台机器并发访问控制,实现临界资源加锁和有序访问,防止造成"脏数据"的后果.所以Zookeeper最常见的应用就是:分布式锁.除此之外,基于Zookeerper提供的

JavaMail入门第一篇 邮件简介及API概述

现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为正式,这是由我们人为手工操作的,在生活中,在某网站注册了一个账户之后,该网站就会自动发送一封欢迎邮件并让我们确认是否注册,以防止恶意注册,当然,这个就不可能像我们工作中手工方式来进行操作了,Java的13种核心技术中的JavaMail为我们提供了API来对邮件进行相关的操作. 一.邮件服务器 要在I

NLP初试牛刀,NLTK入门第一篇

之前下载过一个PDF,书名是<用python进行自然语言处理>,挺有意思的,加上NLP和机器学习目前大热,想趁着暑假涉猎一下.于是开始了入门NLP之旅. 安装环境:Ubuntu14.04桌面版,python版本:2.7 第一步:安装nltk,首先要安装pip工具:sudo apt-get install python-pip,安装完成后用pip安装nltk:sudo pip install python-nltk. 第二步:下载nltk所有的包,在终端中进入python的交互模式, >&

Android JNI入门第一篇——HelloJni

android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Integrated NDK On!)搭建Eclipse编译C语言为so文件的开发环境. native方法实现步骤如下: 1.在Java中声明native()方法,然后编译(javac): 2.用javah产生一个.h文件: 3.编写包含.h文件的c文件 4.编译c文件 5.使用编译成功的so文件. 第一步

struts快速入门第一篇 —— struts相关XML配置映射及讲解

我们回忆一下在学习JavaWeb过程中(Jsp + servlet编程)所感受到的Servlet的不足: 1 Servllet很多时,web.xml中的代码会很多.这样一来,维护起来就不方便,不利于团队合作: 2 一个Servlet的入口只有doGet或doPost方法,如果需要定义其它方法,就必须得在前两者中调用它们.这样会导致代码结构很乱: 3 let类与servlet容器高度耦合,每个方法中都有两个参数request,response.如果服务器不启动,这两个参数没有办法初始化.这会给 单

初识cocos2dx——入门第一篇

享受"啪"的按下Enter的快感. (by云风) cocos2dx是不是个toy引擎,不同的人有不同的看法.但是你不得不承认它很受欢迎,好多很火的手游使用的就是cocos2dx,比如我叫mt.我自己工作中,也有多个项目使用了这个引擎.我之前没写过关于cocos2dx的文章,自己也没有系统地学习过,现在,我打算写一些这方面的文章,通过写blog来重新梳理下cocos2dx的知识,这也是写blog的一个好处. Director 游戏是具有交互性的电影.把制作游戏看成是拍电影的话,Direc