星宿.net

星星的随笔

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

Lab01已经完了,lab02中说的是创建自定义的Activity

Activities是工作流模型的一个可执行单元,它可以被重用,也可以把多个Activities整合成一个Activities。一个工作流可以由多个Activities组成,一个Activities也可以由其他的Activities构成,最终,每个Activities都作为一个可执行单元的形式表现出来。这次,我们来学习创建一个简单的Activity。

Activities是一个其实类,我们可以为其编写属性,方法和事件----这些属性方法和事件引用自workflow。我们还可以创建Activity并部署到.net程序集中来重用。

先看第一个:

使用activity设计器创建一个合成的定制activity

在这个练习里,我们将创建一个有两个分开的代码段组成的activity,然后我们将在一个工作流项目中使用这个activity,运行这个工作流察看运行结果。

创建一个新的WF项目

1. 创建一个名称为CompositeActivitySample顺序工作流控制台应用程序。

2.

New Picture (8)

3. 打开Program.cs查看其代码。

4. Program.csMain()方法包含了启动,加载和执行和等待工作流完成的示例代码。

5. 将项目中的Workflow1.cs重命名为HelloWorldWorkflow.cs并在弹出的提示对话框中选择时,修改所有代码引用。

创建一个Activity项目

现在我们已经创建了一个工作流项目,我们接下来要创建一个Activity项目来添加到解决方案。

在这个项目中我们去定制一个新的activity,这个新的activity中我们去添加两个基本的activity --- code的来整合成我们定制的新的activity 。

1. 新建一个项目,选择“工作流Activity库”,名称为HelloWorldActivityLibrary

2. 重命名Activity1.cs为HelloWorldActivity.cs。同样在弹出的是否对起所有引用的项目执行重名名提示时选择是。

3. 打开HelloWorldActivity的设计视图。

4. 从工具箱中拖拽一个Code activity到我们的设计视图中。

5. 如图:

CropperCapture[2]

CropperCapture[3]

6. 修改起(Name)属性为writeHello

CropperCapture[4]

7. 双击设计视图中的writeHello activity创建一个writeHello_ExecuteCode方法。

8. 在writeHello_ExecuteCode 方法中输入如下代码:

Console.Write("Hello, ");

9. 现在我们回到设计视图,再拖拽第二个Code activity到我们的设计视图中writeHello的下面,并修改(Name)属性为writeWorld

10. 双击设计视图中的writeWorld activity创建一个writeWorld _ExecuteCode方法。

11. 在 writeWorld _ExecuteCode 方法中输入如下代码:

Console.WriteLine("World");

 

生成工作流解决方案

现在我们将刚刚创建的这个activity添加到工作流中,并运行察看效果。

1. 我们点“生成---生成解决方案”或者直接点F6来生成解决方案。

2. 选择CompositeActivitySample项目中的HelloWorldWorkflow.cs来打开设计视图。

3. 这时,我们可以看到工具箱中会出现新的组件栏:

4.

5. 拖拽HelloWorldActivity到我们HelloWorldWorkflow的工作流设计视图中,并且把这个activity的(Name)属性修改为helloWorld

New Picture (10)

6. 现在我们把CompositeActivitySample作为启动项目按ctrl+f5查看运行结果吧。

7. .

8. 这里我们创建的这个activity按照顺序工作流的形式进行了执行。打印出“Hello,World”

9. 现在我们应该已经知道怎样创建一个简单的合成的activity了吧 :)

posted on 2007-01-31 16:41 星宿.NET 阅读(3809) 评论(9)  编辑 收藏 网摘 所属分类: WinFX

Feedback

通俗易懂,喜欢这样风格的文章
  回复  引用    

#2楼  2007-01-31 18:32 Michael-_-Young      
http://www.cnblogs.com/lovesanni/archive/2007/01/30/634519.html
  回复  引用  查看    

#3楼 [楼主] 2007-01-31 19:21 星宿.NET      
@Michael-_-Young
哈,重了
  回复  引用  查看    

您好:我是新手,根据你的步骤我在调试了,可是提示未处理的异常:
System.InvalidOperationException:请求的性能计数器不是自定义计数器,
它必须初始化为ReadOnly.
怎么办啊? 谢谢了!
  回复  引用    

#5楼  2007-02-21 11:46 网人 [未注册用户]
楼主真是好人呀,希望能看到多一些WWF、WCF等方面的手把手例子,谢谢!!!!
  回复  引用    

#6楼  2007-03-30 10:56 维德成员      
非常感谢版主,我跟据你的例子走了一遍,对工作流的组件有了一个简单的认识,相信以后用起来会有很大帮助。
  回复  引用  查看    

#7楼  2007-04-16 19:09 stdudy [未注册用户]
不是说有10个练习吗?希望楼主继续啊!!非常感谢楼主!!
  回复  引用    

#8楼 [楼主] 2007-04-19 11:43 星宿.NET      
@stdudy
最近比较忙,所以一直没继续往下看,哈..
  回复  引用  查看    


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

相关文章:

相关链接: