WF4.0 入门系列(二) The CodeActivity
来源:互联网 发布:如何查域名在哪里备案 编辑:程序博客网 时间:2024/05/01 13:02
就像我们现在看到的,WF4使用一个设计器designer来编辑.xaml文件,一个运行时runtime来运行活动。当你创建一个workflow的同时,你也就是在创建一个新的活动类型,由于所有的活动都继承与System.Activities.Activity或其子类,所以你可以使用C#、VB或XAML来声明一个工作流。在本次练习,我们将使用C#创建一个活动,并以此实现我们的"问候"流程。
我们在前面提到,活动Activity可以实现业务流程。但是我们也可以让某些活动去调用其他活动来实现这一功能。现在我们来创建一个SayHello的Activity,SayHelloActivity本身不会直接向控制台输出字符串,而是调用一个WriteLine活动来完成此操作。
我们现在创建一个工作流控制台应用程序,并向其他添加一个SayHelloActivity.cs类,并让其继承System.Activities.Activity
public sealed class SayHelloActivity : Activity { WriteLine writeLine = new WriteLine() { Text = "Hello Workflow 4" }; public SayHelloActivity() { //Implementation是一个返回包含执行逻辑的 System.Activities.Activity 的委托。 Implementation = () => { return writeLine; }; } }
修改Program.cs如下:
class Program { static void Main(string[] args) { Activity sayHello = new SayHelloActivity(); WorkflowInvoker.Invoke(sayHello); Console.Read(); } }
从上面的例子可以看到,采用根据其他活动创建Workflow的方法证明是可行的。但是有很多情况下,我们希望创建的Activity可以执行一些业务逻辑或者可以调用可以执行类似逻辑的其他类。如果是这样,我们可以让我们的Activity继承于System.Activities.CodeActivity,并重写Execute 方法。CodeActivity是一个抽象类,所以我们必须重写Executed方法。
public sealed class SayHelloInCode : CodeActivity{ protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello Workflow 4 in code"); }}public sealed class SayHelloInCode : CodeActivity{ protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello Workflow 4 in code"); }}
修改main方法如下:
static void Main(string[] args){ WorkflowInvoker.Invoke(new SayHelloInCode());}
系列文章:
一 Hello Workflow4
二 The CodeActivity
三 Dynamic Workflows with XAML
四 Testing Workflows
五 WorkflowApplication
六 If/Else Logic
- WF4.0 入门系列(二) The CodeActivity
- WF4.0 入门系列(五)WorkflowApplication
- WF4.0 入门系列(八)Custom Activities and Designers 之二
- WF4.0 基础篇 (四) 顺序容器Sequence 与CodeActivity
- WF4.0 基础篇 (四) 顺序容器Sequence 与CodeActivity
- WF4.0 入门系列(一)Hello Workflow4
- WF4.0 入门系列(三) Dynamic Workflows with XAML
- WF4.0 入门系列(四)Testing Workflows
- WF4.0 入门系列(六)If/Else Logic
- WF4.0 入门系列(七)Error Handling
- VS2010 学习笔记 WF4 (3) 学习CodeActivity
- VS2010 学习笔记 WF4 (3) 学习CodeActivity
- WF4.0 学习系列
- WF4.0 入门系列(八)Custom Activities and Designers 之一
- WF4.0 基础篇 (二十一) WorkflowInvoker
- WF4.0 基础篇 (二十二) Tracking
- WF4.0 基础篇 (二十九) WorkflowInspectionServices
- 基于WF4.0流程平台开发过程中的知识积累(二)多书签会签
- gcc: error trying to exec 'cc1plus': execvp: 没有该文件或目录
- Android操作HTTP实现与服务器通信
- HTML5笔记(2)概述
- REDO管理
- 从头开始学习JAVA 5--Spring MVC
- WF4.0 入门系列(二) The CodeActivity
- Android中发送Http请求实例(包括文件上传、servlet接收)
- NullPointerException 与 方法参数检查
- Ruby学习笔记3
- 相信自己,不能逃避
- 从头开始学习JAVA 6--引入JQuery
- ubuntu12.04中完美搭建LAMP环境及打开错误提示的方
- iOS应用比Android应用泄露更多个人数据
- iOS html解析1(包含中文字符)