和我一起学Windows Workflow Foundation(1)-----创建和调试一个WF实例

今天开始,我打算开始学习WWF,从网上搜索到了部分相关资料,也找到了一些文档和实验。但是,资料以英文的占多数,所以,在学习起来似乎比较吃力,不过相信我能坚持下来,顺便提高点英语阅读能力,不过本人英文水平实在是差,解释的不到位或错误的地方请大家谅解(千万别笑话我,哈哈)。毕竟我也是从空白开始学习WWF,让我们一起进步。

首先,我们需要安装WinFX(下载)和Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation)。这是我们必备的开发组件。

这些例子和教程是从微软的labs上下载到的,分为10个部分。先来学最基础的第一部分先 :)

第一部分的目的

这个试验的目的是介绍Windows Workflow Foundation的工作流概念的关键点

完成了这个试验以后,我们可以学习到:

· 使用Visual Studio 2005 为WWF设计顺序工作流

· 配置和使用Visual Studio 2005调试器调试你的工作流

· 让工作流接受参数

· 通过接收事件触发一个新的工作流实例

· 定义条件

· 为If/Else, Delay, Listen, and Code配置基本的活动(activities不知道怎么翻译好)

· 给工作流为接收到的事件定制活动

工作流是在一个活动图中进行定义的,它可能是一个人为操作或一个系统进程。一个活动在工作流中是一个步骤,其体现为一个可执行单元,并且是可重用的,可整合的。工作流在设计好后被编译成.net程序集,它被工作流运行时和通用语言运行时(CLR)所执行。

一.创建一个Hello World工作流

在这次练习里,我们将通过VS2005工作流设计器设计一个非常简单的“Hello World”工作流。这个Hello World工作流将通过很简单的代码实现一个顺序工作流,它将在我们的命令行中输出“Hello, World!”。我们将了解工作流的定义和其代码。最后,我们将学习怎样通过VS2005在我们的机器上执行、调试我们的工作流。

打开VS 2005,新建项目,选择“顺序工作流控制台应用程序”,修改项目名称为:HelloWorldWorkflow.

1. 点击确定我们将生成一个新的工作流项目。

2. 这个项目会为我们自动生成一个工作流模版Workflow1。在这里我们是不需要这个模版的,我们只是做一个非常简单的例子,所以我们删除这个Workflow1.cs文件。

3. 右键单击项目选择添加新项

4. 选择“顺序工作流(具有单独的代码)”,点确定添加。这里将添加两个文件Workflow1.xoml和Workflow1.xoml.cs,Workflow1.xoml包含了描述工作流类型的XML语言,而其CS后缀的的文件则包含这个工作流内的动作执行代码。

5. 下面我们要做的就是添加代码了。双击Workflow1.xoml文件来打开VS 工作流设计器视图。

6. 我们从工具箱里可以砍刀我们可以添加的各种活动。

7. 我们从工具箱中拖拽“Code”这个活动到我们的工作流当中。

8. 注意,这个时候在我们拖拽进来的“Code”这个活动的右上角有一个红色的叹号,点击下拉的小三角我们可以看到显示这个叹号的呀,是因为属性ExecuteCode还没有被设置。

9. 那么下一步很明白了,我们需要设置ExecuteCode,点击这个提示,我们会发下在属性窗口的ExecuteCode会显示高亮,在其内输入codeActivity1_CodeHandler并双击,会在后台代码Workflow1.xoml.cs中生成codeActivity1_CodeHandler方法

10. 可以看到,这个类继承自 SequentialWorkflowActivity 基类. 我们要在方法中输入:

Console.WriteLine("Hello, World!");

全部代码如下:

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
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 HelloWorldWorkflow
{
public partial class Workflow1 : SequentialWorkflowActivity
{
private void codeActivity1_CodeHandler(object sender, EventArgs e)
{
Console.WriteLine("Hello, World!");
}
}
}

11. 按Ctrl+F5运行程序,如果出现:
则说明成功。

12. 是不是太简单了?至少,我们第一次的工作流编写完成了。

13. 等等,别急,还有个好玩的,那就是WWF的调试功能。我们在以前调试的时候,是要在代码中设置断点的,现在,你可以试一下调试WWF。

14. 打开工作流的设计视图Workflow1.xoml。

15. 选中我们刚才拖拽过来的codeActivity1,点右键,选断点—插入断点(或者选中后直接点F9),看到了什么?

6. 现在我们再按F5,在执行到这里的时候就会停止,可以进行调试了。

7. 点F11单步执行将进入我们的codeActivity1_CodeHandler事件,是不是很方便?

今天先说这么多,明天继续学,呵呵

转载于:https://www.cnblogs.com/zhangyf/archive/2007/02/28/659889.html

和我一起学Windows Workflow Foundation(1)-----创建和调试一个WF实例(转)相关推荐

  1. 和我一起学Windows Workflow Foundation(1)-----创建和调试一个WF实例

    今天开始,我打算开始学习WWF,从网上搜索到了部分相关资料,也找到了一些文档和实验.但是,资料以英文的占多数,所以,在学习起来似乎比较吃力,不过相信我能坚持下来,顺便提高点英语阅读能力,不过本人英文水 ...

  2. Microsoft Windows Workflow Foundation 入门:开发人员演练

    有关向 Windows 平台添加工作流支持的初步知识 Microsoft Windows Workflow Foundation (WWF) 是一个可扩展框架,用于在 Windows 平台上开发工作流 ...

  3. Windows Workflow Foundation(一)(转载)

    组织并执行一系列的操作或者活动的最自然的方式--那就是工作流--同时也是构造一个工作流程的可执行表现形式的最佳途径.   Windows Workflow Foundation(以下简称WWF)提供了 ...

  4. Windows Workflow Foundation(一)

    组织并执行一系列的操作或者活动的最自然的方式--那就是工作流--同时也是构造一个工作流程的可执行表现形式的最佳途径.   Windows Workflow Foundation( 以下简称WWF)提供 ...

  5. Windows workflow foundation入门

    Microsoft Windows Workflow Foundation (WWF) 是一个可扩展框架,用于在 Windows 平台上开发工作流解决方案.作为即将问世的 Microsoft WinF ...

  6. WWF(Windows Workflow Foundation)的简介

    转自 dudu blog Windows Workflow Foundation简介(翻译):       Windows Workflow Foundation是帮助您在Windows平台上快速建立 ...

  7. Windows Workflow Foundation 2 规则引擎简介

    转载于:MSDN http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/intWF_FndRlsEng.mspx?mfr=tr ...

  8. Microsoft Windows Workflow Foundation

    Dino Esposito Solid Quality Learning 适用于: Microsoft Windows Workflow Foundation Microsoft Windows Vi ...

  9. Windows Workflow Foundation 4.0

    转:http://www.cnblogs.com/foundation/category/215023.htm WF4.0 技术文章 WF4.0 流程设计器例子 (提供状态机模板) 摘要: WF4.0 ...

最新文章

  1. 【实习】京东搜索相关性算法部门
  2. 移动端总结和手机兼容问题
  3. 全国计算机等级考试题库二级C操作题100套(第66套)
  4. 第16届电源技术专题研讨会
  5. C++自己实现一个String类(腾讯阿里面试题目)
  6. win7下文本文档不能直接修改后缀是为什么?怎么办?
  7. 数据分析师初级—中级—高级,每个阶段都需要学习什么?
  8. c/c++ utf-8与gbk的互相转化
  9. 类型多样的建筑场景unity3d模型素材,速来收藏
  10. 架构师须知概念:POJO、PO、DTO、DAO、BO、VO
  11. CodeForces - 379A
  12. 美术集网校--常见的水粉调色纯干货分享,记得收藏!
  13. Qt编写安防视频监控系统46-视频存储
  14. 「CTS2019 | CTSC2019」氪金手游 解题报告
  15. Java学习之路-----Java基础简介,基础语法,Java标识符,修饰符,关键字与注释
  16. Comet OJ - Contest #10 沉鱼落雁
  17. ClickHouse vs Elasticsearch谁更胜一筹?
  18. 免费代理池(proxy_pool)搭建教程
  19. linux bash环境下面给expect脚本传递参数
  20. 虚幻引擎4及快捷方式!

热门文章

  1. 计算机网络应用和计算机应用有什么区别,什么是计算机网络技术?和计算机应用技术区别...
  2. 什么是Java序列化,如何实现java序列化
  3. 012_Spring Data Redis
  4. 065_html视频
  5. mysql 优化300例_MySQL配置文件my.cnf参数优化和中文详解
  6. webapi添加html页面,如何从WebApi动作返回html页面?
  7. ps2020的antlib文件在哪_ant design pro 新增页面
  8. python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...
  9. ensp中ap获取不到ip_对比网络模拟器软件,Cisco Packet Tracer、华为eNSP、H3C Cloud Lab...
  10. python计算3j系数_python数值基础知识浅析