从WinFX到NET3.x再到NET4.0 ,WPF,WCF,WF 始终是放在一起的,WPF(silverlight)用于程序UI的展现,WCF用于程序通信,WF用于程序的逻辑控制,这种思想在微软提出WinFX到现在的NET3.x再到NET4.0都是十分明确的. WPF(silverlight)与WCF现在已被大家熟知,并已广泛使用.但关注WF的人却还不是很多.现在我准备从写几个WF4.0系列的文章,大家可以通过这几个系列的文章了解一下WF

目录

1    开始使用WF4.0    1

1.1    前言    1

1.2    创建WF4.0项目    1

1.3    创建一个"hello wxwinter"屏幕的输出的工作流    2

1.4    程序结构说明    2

1.4.1    XAML流程结构描述文件    3

1.4.2    宿主程序    3

1.5代码方式创建WF4.0工作流    3

开始使用WF4.0

前言

WF的全称是Windows Workflow Foundation ,

最早接触WF是在2004年的时候,那时微软推出了一个CTP版的开发包,WinFX.

在WinFX中提供了三个内容: Avalon, Indigo, WinOE当时这三方面的内容我都有涉及

与微软很多的技术一样,WinFX在Bata2后就没有后续了.然而幸运的是我的这次长达一年的技术投入并没有浪费,WinFX在2006年以Net 3.0 的方式正式发布了(其实就算WinFX没有下文,我也没有什么遗憾,在学习WinFX的日子里,我理解了很多全新的设计思想)

在NET 3.0 中,

Avalon成为了Windows Presentation Foundation 简称为WPF

Indigo成为了 Windows Communication Foundation 简称为WCF

WinOE 成为了 Windows Workflow Foundation 简称为WWF

后来, 微软基于WPF推出了WFP/E, WFP/E就是silverlight的前身.

WPF,WCF,WWF从一开始就是绑在一起的,为什么WWF现在叫WF,少了一个"W",那是因为WWF与另一个缩写重名了 World Wild Fund for Nature"世界自然基金会"

那么WF到底是什么,在这里我先不做具体介绍,但WF绝对不是传统"工作流"层面的东西.

从WinFX到NET3.x再到NET4.0 ,WPF,WCF,WF 始终是放在一起的,

WPF(silverlight)用于程序UI的展现,WCF用于程序通信,WF用于程序的逻辑控制,这种思想在微软提出WinFX到现在的NET3.x再到NET4.0都是十分明确的.

WPF(silverlight)与WCF现在已被大家熟知,并已广泛使用.但关注WF的人却还不是很多.

为此,我准备写三个系列的文章: WF4.0 基础篇, WF4.0 应用篇, WF4.0设计篇,主要内容如下:

WF4.0基础篇WF4.0中各类Activity与功能类的详细使用说明

WF4.0应用篇WF4.0的架构,Activity设计,流程设计器开发

WF4.0设计篇如何将WF4.0应用到项目中,如何基于WF4.0设计项目

如果你对WF3.x或WF4 Bata 1有一定了解,可以看一下我写的这篇文章

WF4Bate 2与前版本的比较

http://www.cnblogs.com/foundation/archive/2009/10/22/1587798.html

如果你对WF3.X不了解,那也不用去了解WF3.X

本系列将从最基础的内容开始讲解WF4.0

创建WF4.0项目

1.打开VS2010 ,[File] -> [New] -> [Project]

2.在出现的[New Project]对话框的[Installed Templates]树上选[Workflow],在出现的模板列表框中选[Workflow Console Application]项

在[Name]框中输入[helloWorkflow],点击[OK]进入WF4.0项目的设计界面

创建一个"hello wxwinter"屏幕的输出的工作流

按[F5]运行程,会看到如下结果

程序结构说明

本例子包括两部分,用于描述流程结构的一个XAML文件与调用流程的宿主程序

XAML流程结构描述文件

WF4.0 的流程结构描述文件是一个XML格式的文件,其格式如下

(关于WF4.0的XAML文件格式,会在以后的文章中做具体介绍,在这里做一个基本说明)

x:Class="helloWorkflow.Workflow1"

....

>

Text="hello wxwinter "

....

/>

WF4.0的流程是由一组[活动]组成的,当流程运行时,流程内的[活动]按一定的规则依次执行

其中 是这个流程的根[活动]

是WF4.0 的一个自带的一个[活动],其功能就是在屏幕打印[Text属性]的内容

x:Class="helloWorkflow.Workflow1" 则是将XOML文件编译成NET类时所对应的类名

宿主程序

在使用[Workflow Console Application]模板创建时,会自动创建一个用于测试流程的控制台宿主程序,内容如下class Program

{

static void Main(string[] args)

{

WorkflowInvoker.Invoke(new Workflow1());

}

}

其中,[WorkflowInvoker]是一个用于调用工作流的功能类,可以使用该类的[Invoke 静态方法]调用流程.在本例中[Invoke(new Workflow1())]所使用的类就是XOML文件中 x:Class="helloWorkflow.Workflow1" 所定义的类名

代码方式创建WF4.0工作流class Program

{

static void Main(string[] args)

{

WorkflowInvoker.Invoke(codeCreateWorkflow());

}

// 代码方式创建WF4.0工作流

static Activity codeCreateWorkflow()

{

WriteLine writeLineActivity = new WriteLine() { Text = "hello wxwinter" };

Sequence wxwinterWorkflow = new Sequence();

wxwinterWorkflow.Activities.Add(writeLineActivity);

return wxwinterWorkflow;

}

}

按[F5]运行程,会看到如下结果

转载自:

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

扫码加本站公众号

收藏 | 0点赞 | 0打赏作者

wf4.0支持mysql吗_WF4.0 基础篇 (一)开始使用WF相关推荐

  1. [转]WF4.0 基础篇 (一)开始使用WF

    本文转自:http://www.cnblogs.com/foundation/archive/2009/10/26/1589993.html 来博客园写WF主题博客已经3年了, 在园子里认识了很多朋友 ...

  2. .NET的那些事儿(9)——C# 2.0 中用iTextSharp制作PDF(基础篇) .

    该文主要介绍如何借助iTextSharp在C# 2.0中制作PDF文件,本文的架构大致按照iTextSharp的操作文档进行翻译,如果需要查看原文,请点击一下链接:http://itextsharp. ...

  3. .NET的那些事儿(9)——C# 2.0 中用iTextSharp制作PDF(基础篇)

    该文主要介绍如何借助iTextSharp在C# 2.0中制作PDF文件,本文的架构大致按照iTextSharp的操作文档进行翻译,如果需要查看原文,请点击一下链接:http://itextsharp. ...

  4. 【完全免费】全新VRay Next(4.0) for SketchUp 教程入门提升基础篇正式发布!

    作者:活力网 今天为大家带来的是 VRay Next(4.0) for SketchUp入门到提升教程(基础篇) 该系列课程章节大致分为 基础应用.UI界面.参数面板.灯光.材质.物体.综合与案例等 ...

  5. MySQL学习笔记(基础篇未完待补充)

    一.MySQL数据库基 目录 一.MySQL数据库基础篇 1.数据库概述与MySQL安装篇 第1章:数据库概述 1.为什么要使用数据库 2. 数据库与数据库管理系统 2.2 数据库与数据库管理系统的关 ...

  6. WF4.0 基础篇 (二十八) WF调用PowerShell

    PowerShell 提供了命令行管理系统的功能,但通常情况下,操作人员要完成某种业务需要多组PowerShell 命令,这样会很烦琐,错误率也比效高.操作人员可以编写powerShell脚本来组织命 ...

  7. mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...

    mysql是一款数据库管理系统,mysql一般网站开发者或者数据库开发者会用到,mysql拥有体积小巧.读取和存储速度快的特点,新版本完全脱了MylSAM存储引擎,改善了扫描性能,同时还重构了sql分 ...

  8. vc 6.0与mysql win10_vc 6.0官方下载win10-vc 6.0 win10 64位下载中文完整版-西西软件下载...

    vc 6.0 win10 64位经测试可完美运行且兼容性良好,无论是台式机还是笔记本都可以正常使用.vc++6.0是一款强大的可视化编程工具,是一款优秀专业的C++编译器,界面简洁,易学易用. vc+ ...

  9. hive load data外部表报错_从0开始学大数据-Hive基础篇

    Hive起源于Facebook,是基于 Hadoop HDFS 分布式文件系统的分布式 数据仓库 架构.它为数据仓库的管理提供了许多功能:数据ETL(抽取.转换和加载)工具.数据存储管理和大型数据集的 ...

最新文章

  1. 在spring boot中集成Swagger
  2. cad画1000线太长了_为什么你画CAD图没别人快?今天就教你几招!
  3. linux面试题中的简答题,[计算机]linux面试题简答题部分.doc
  4. 跨站请求伪造(CSRF/XSRF)
  5. 现代计算机网络的6个方面的应用,现代计算机网络技术应用及发展(共4384字).doc...
  6. 解决:SyntaxError: Non-UTF-8 code starting with '\xe6' in file
  7. 【计算机视觉】【车辆识别】--Matlab实现
  8. 论文笔记 - 《Very Deep Convolutional Networks For Large-Scale Image Recognition》 精典
  9. 峰Redis学习(7)Redis 之Keys 通用操作
  10. Redis 常见问题 与 常见错误
  11. 网络流24题 洛谷 2763 试题库问题
  12. call stack是什么错误_17.2 错误处理
  13. Brachistochrone curve(传说中的最速降线)
  14. 手机3D的新境界:Omnia II 是3D方面的力作!!
  15. Android 系统电量统计
  16. 当易方达张坤遇招商白酒侯昊
  17. mongodb4.0学习总结二(read concern)
  18. Vue项目使用splitpanes插件(垂直水平分割窗口)
  19. 微软 CTO 韦青:“程序员 35 岁就被淘汰”是个伪概念 | 人物志 胡巍巍 CSDN 4月3日
  20. 推荐一个C++枚举转字符串的开源项目magic_enum

热门文章

  1. 世界球线四大天王/各型号羽毛球线的评论
  2. 欠拟合与过拟合的概念
  3. List中移除指定元素
  4. linux格式化所有磁盘命令,【转】linux格式化磁盘命令
  5. Chip-seq流程报告
  6. WPF教程(二十四)Canvas
  7. 高中计算机八字标语,高中励志八字标语
  8. centos7 vi保存退出_linux编辑文件保存退出的实操讲解
  9. 微信计算机内存是32位吗?,真的比旧版更加顺滑流畅?微信64位版体验
  10. Google搜索技巧、使用Google的其它专业搜索