星宿.net

星星的随笔

博客园 首页 新随笔 联系 订阅 管理
  31 Posts :: 0 Stories :: 235 Comments :: 16 Trackbacks

今天开始,我打算开始学习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事件,是不是很方便?

 

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

posted on 2007-01-20 04:03 星宿.NET 阅读(9101) 评论(52)  编辑 收藏 网摘 所属分类: WinFX

Feedback

#1楼  2007-01-20 10:26 aspnetx      
请楼主标把标题更换一下
早先微软的工作流方案是想用WWF来着,因为业正好和另两个技术配套,但没成想被world wild foundition给告了.其实不只微软,就连美国自由搏击早先使用WWF都被他告过.两大财团都败在这个组织下也足以见美国对公益事业的重视了.
不过,目前好想确实没见到有WFF的这个说法,微软现在把名字改成了WF
  回复  引用  查看    

#2楼  2007-01-20 11:14 浅水滩      
其实觉得你花这么多力气来翻译这些实验,不值得。一来本身这些英语都很简单,没有翻译的必要。二来,你翻译了也未必对。三来,实验太多了,重复也很多,纯粹体力活。
  回复  引用  查看    

#3楼  2007-01-20 11:33 aspnetx      
@浅水滩
挑些干的,经典的,也未尝不可
  回复  引用  查看    

#4楼 [楼主] 2007-01-20 12:28 星宿.NET      
@aspnetx
谢谢你的支持.
@浅水滩
也谢谢你.我对wf的认识是从零开始的,所以这个我也不会按照他的详细步骤走的,里面的确很多废话.我只是学到哪些写出来而已 :)
  回复  引用  查看    

#5楼  2007-01-20 12:40 TerryLee      
楼主的努力对初学的朋友还是有些帮助的!
  回复  引用  查看    

#6楼 [楼主] 2007-01-20 12:56 星宿.NET      
@TerryLee
:)
如果写错了赶紧指导我,哈哈
  回复  引用  查看    

#7楼  2007-01-20 18:12 WXWinter(冬)      
写的好细致啊
  回复  引用  查看    

#8楼  2007-01-20 21:30 stswordman      
支持楼主:)
  回复  引用  查看    

#9楼  2007-01-21 15:23 shenfx      
楼主能不能给个微软的labs的地址~ :)
  回复  引用  查看    

#10楼 [楼主] 2007-01-21 18:54 星宿.NET      
@shenfx
http://www.microsoft.com/downloads/details.aspx?FamilyID=2e575633-e357-4ee7-aaff-34138f00e830&DisplayLang=en
  回复  引用  查看    

#11楼  2007-01-22 07:40 兰亭      
谢谢,对于初学者来说,这样的文章正合适。
  回复  引用  查看    

#12楼 [楼主] 2007-01-22 09:14 星宿.NET      
我也是初学,一样, :)
  回复  引用  查看    

#13楼  2007-01-22 10:50 A.Z [未注册用户]
和我的helloworld一样...,虽然玩得时间有限,但是我发觉m$的wwf还是很有前途的。
  回复  引用    

#14楼  2007-01-22 10:57 布鲁斯南      
建议介绍一些关于工作流的理论,让大家对于工作流有个系统的了解.不然只是知其然,不知其所以然.
  回复  引用  查看    

#15楼 [楼主] 2007-01-22 16:13 星宿.NET      
@布鲁斯南
我尽力,我也初学,讲是讲不出来的,哈哈,找找资料先
  回复  引用  查看    

作者的文章简单易懂,对初学者帮助很大。很BS对这些基础文章不屑的人。
强中自有强中手,你们不要忘了你们最初进入这行的德行。切莫得意忘形!!!
  回复  引用    

#17楼  2007-01-24 10:03 局外人 [未注册用户]
紫禁城不是一天就能盖起来的,作者继续,做自己喜欢的事情!

工作流不是所有人都有用的,多一些文章,大家的知识库里就有这么一个映像,有积累,终究分有收获. 是件好事
  回复  引用    

#18楼  2007-01-29 16:04 坏坏的小样      
鸟能飞起来靠毛,毛不是一生出来就有的,人家写了那么多的东西,还要依靠英语翻译过来,你这么牛咋不自己去写篇文章出来啊?光脚的么资格说穿鞋的,请尊重人家的劳动成果.
  回复  引用  查看    

#19楼  2007-02-01 10:14 辉郎      
呵呵,终于找到了入门的好东东。
以前自己写工作流都是利用数据中的状态字段+程序的业务逻辑实现的,工作量很大,一直在找wf的资料,这下可以饱餐一顿了。3Q!
  回复  引用  查看    

很谢谢楼主!支持楼言主!!!!!!
  回复  引用    

#21楼 [楼主] 2007-02-01 18:00 星宿.NET      
谢谢支持 :)
  回复  引用  查看    

#22楼  2007-02-05 11:30 OOP      
写的很好,支持!
  回复  引用  查看    

我严重支持楼主,BS那些不知道自己在说什么的人。
  回复  引用    

#24楼  2007-03-02 23:45 无处坏 [未注册用户]
请问大家一个总是,是不是win2000专业版系统装不了winfx和.net30啊,谢谢 
  回复  引用    

#25楼  2007-03-05 09:16 无处坏 [未注册用户]
请问大家一个总是,是不是win2000专业版系统装不了winfx和.net30啊,谢谢 
  回复  引用    

#26楼  2007-03-09 09:44 xishuai [未注册用户]
楼主做的好
  回复  引用    

#27楼  2007-03-29 16:42 维德成员      
很好,很适合初学者,加油奥,我会继续关注。
  回复  引用  查看    

#28楼  2007-04-11 15:12 mliu [未注册用户]
谢谢楼主,找了多天的东西终于被找到了.我想问的是.WWF是不是内含建模工具
  回复  引用    

#29楼 [楼主] 2007-04-11 15:14 星宿.NET      
@mliu
建模工具?怎么说呢,可以说WF自带可视化的工作流设计器
  回复  引用  查看    

#30楼  2007-04-12 11:03 mliu [未注册用户]
请问一下楼主,你提供的WWF是什么版本的,是BETA2还是更新的.因为我发现我先装了VS2005,在装WINFX和WWF时,竟然没报错.我在微软的讲座上,听到是先安装WINFX,VS2005,WWF.要不然就不能创建项目.
  回复  引用    

#31楼 [楼主] 2007-04-12 11:07 星宿.NET      
@mliu
不用,winfx已经出正式版本了,出了很久了,里面已经包含了wf,所以你在装好VS2005以后直接安装winfx就可以了.
PS:winfx正式版本包含了WF,WPF,WCF和cardspace
  回复  引用  查看    

#32楼  2007-04-12 11:11 mliu [未注册用户]
楼主,那是不是说:你提供的winfx就是正式版.有msn吗?我的是:liumin_007@126.com.打算用它开发工作流的工作.
  回复  引用    

#33楼 [楼主] 2007-04-12 11:17 星宿.NET      
@mliu
http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe
我提供的上面的那个就是正式版本的不过需要在线安装,现在这个是完全版,50M左右.

  回复  引用  查看    

#34楼  2007-04-12 11:32 mliu [未注册用户]
呵呵 知道了.非常感谢,能提供你的MSN吗?
  回复  引用    

#35楼 [楼主] 2007-04-12 11:35 星宿.NET      
@mliu
-_-! 偶左上角有写
  回复  引用  查看    

#36楼  2007-04-24 08:11 3Q [未注册用户]
您的文章对我有很大帮助,谢谢!
  回复  引用    

#37楼  2007-05-08 20:08 C# [未注册用户]
這系列文章非常有收藏價值
  回复  引用    

#38楼  2007-05-25 11:47 小马过河MJ      
逛了半天园子,终于找到我的“归宿”了,还是这里好。谢谢楼主!
  回复  引用  查看    

谢谢楼主:)
  回复  引用    

支持楼主谢谢楼主我正是初学者找这样的教材很久了
  回复  引用    

#41楼  2007-11-16 11:30 lizz [未注册用户]
不错
  回复  引用    

我也是一个初学者,非常初级,而且英语水平不好,感觉楼主这样一步一步的操作对我有很大的帮助。非常感谢楼主
  回复  引用    

#43楼  2007-11-26 14:35 高海东      
非常关注 有相关的中文书吗
  回复  引用  查看    

#44楼  2007-12-04 15:10 Cameo      
谢谢分享,对初学者还是有帮助的.
  回复  引用  查看    

#45楼  2008-01-04 08:57 地方 [未注册用户]
支持搂主!不管搂主出于什么目的,但对于初学者是有些帮助的
  回复  引用    

#46楼  2008-02-29 12:00 glen76 [未注册用户]
不错,对初学者有益,
谢谢!
  回复  引用    

#47楼  2008-03-05 09:36 路过 [未注册用户]
谢谢楼主的辛勤劳动!正好在学习!
  回复  引用    

#48楼  2008-04-03 11:03 -=xXx=- [未注册用户]
不错,辛苦了!
  回复  引用    

#49楼  2008-04-27 15:04 seyon      
我支持楼主
  回复  引用  查看    

#50楼  2008-09-10 15:00 peace      
只有是关于WF的 我都顶 :)
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-01-20 12:25 编辑过
Google站内搜索

相关文章:

相关链接: