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

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

一、入门范例

  以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 -- 工作流启动了!");
}

  点击按钮,输出如下:

  

WWF3入门<第一篇>的更多相关文章

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

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  2. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  3. Zookeeper 入门第一篇

    转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...

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

    现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...

  5. flask入门第一篇

    一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...

  6. Android JNI入门第一篇——HelloJni

    android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...

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

    之前下载过一个PDF,书名是<用python进行自然语言处理>,挺有意思的,加上NLP和机器学习目前大热,想趁着暑假涉猎一下.于是开始了入门NLP之旅. 安装环境:Ubuntu14.04桌 ...

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

    我们回忆一下在学习JavaWeb过程中(Jsp + servlet编程)所感受到的Servlet的不足: 1 Servllet很多时,web.xml中的代码会很多.这样一来,维护起来就不方便,不利于团 ...

  9. AJAX入门第一篇就够了

    什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...

随机推荐

  1. jQuery getJSON() 能给外部变量赋值

    //getJSON 内部已经赋值给count,alert出数据来看看是不是0 var count=0; $.getJSON(sUrl,{"ran": new Date().getD ...

  2. 由csdn开源项目评选中闹出刷票问题想到投票程序的设计

    帖子<#CSDN刷票门# 有没有人在恶意刷票?CSDN请告诉我!用24小时监控数据说话!> http://www.cnblogs.com/sanshi/p/3155946.html 网站投 ...

  3. ZOJ 3601 Unrequited Love 浙江省第九届省赛

    Unrequited Love Time Limit: 16 Seconds      Memory Limit: 131072 KB There are n single boys and m si ...

  4. 动态WebService方法

    [转] 调用Webservice的方法一般是通过右击项目-->添加服务引用-->输入Webservice地址-->前往-->确定,这样可以顺利调用服,但是需要注意的一点是:如果 ...

  5. Java Volatile相关文章目录

    参考资料: http://www.google.com/cse?sa.x=0&sa.y=0&cx=010284515138798138769%3Aajbqkpwaapm&ie= ...

  6. bat命令之for命令详解

    ______________版主提醒____________________________ 为了避免影响技术讨论.提高看帖的舒适性,请大家不要在此帖下跟无实质内容的口水帖,特别是纯顶.纯支持.纯感谢 ...

  7. 怎么查询局域网内全部电脑IP和mac地址..

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  8. console,和自己定义事件

    console.log这个指令是在浏览器控制台输出日志,用来调试程序 跟alert 类似 但不像alert那样会打断程序.

  9. nginx 反向代理(Reverse Proxy)与耗时记录

    反向代理服务器位于实际的服务器之前,他能够缓存服务器响应,加速访问,同时也启到了负载均衡服务器的效果.反向代理服务器解析客户端请求,根据负载均衡算法转发到不同的后台服务器上.用户和后台服务器之间不再有 ...

  10. C++primer练习14.44

    编写一个简单的桌面计算器使其处理二元运算 // 14_44.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iost ...