今天看电子书《Presenting Windows Workflow Foundation》因为是beta版的,所以和.Net Framework3.0有一定的差别,看到介绍Data activity的时候实在是忍不住了,干脆吧换另一本书看《Foundations of WF An Introduction to Windows Workflow Foundation》不过觉得对那本beta版的书“半途而废”还是值得的。
下面是书上的第一个console下的sequential workflow小程序:
Workflow1.cs代码如下:
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 CFirstSequentialWFConsoleApplicaton
{
public sealed partial class Workflow1: SequentialWorkflowActivity
{
private int InputValue1;
private int InputValue2;
private int OutputResult;
public int Input1
{
set { InputValue1 = value; }
}
public int Input2
{
set { InputValue2 = value; }
}
public int OutputValue
{
get { return OutputResult; }
}
public Workflow1()
{
InitializeComponent();
}
private void Step1_ExecuteCode(object sender, EventArgs e)
{
OutputResult = InputValue1 + InputValue2;
Console.WriteLine("Step1");
}
private void Step2_ExecutedCode(object sender, EventArgs e)
{
Console.WriteLine("Step2");
}
}
}
program.cs代码如下:
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;
#endregion
namespace CFirstSequentialWFConsoleApplicaton
{
class Program
{
static void Main(string[] args)
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
//AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
Dictionary<string,> parameters = new Dictionary<string,>();
parameters["Input1"] = 45;
parameters["Input2"] = 45;
WorkflowInstance instance= workflowRuntime.CreateWorkflow(typeof(CFirstSequentialWFConsoleApplicaton.Workflow1),parameters);
instance.Start();
waitHandle.WaitOne();
}
}
static void OnWorkflowCompleted(object sender, WorkflowCompletedEventArgs e)
{
Console.WriteLine(e.OutputParameters["OutputValue"]);
}
static void OnWorkflowTerminated(object sender, WorkflowTerminatedEventArgs e)
{ }
}
}
在workflow的designer里drag两个code把两个code的ExecuteCode属性设置为上面program.cs中的Step1_ExecuteCode和Step2_ExecuteCode。运行debug即可看到console下的运行结果。</string,></string,>
分享到:
相关推荐
通过本资源,您将学习如何使用 Workflow 程序创建一个 Hello World 应用程序,并了解 Workflow 程序的基本概念和实现机制。 什么是 Workflow 程序? Workflow 程序是一种基于活动的编程模型,允许开发者使用可视化...
在这个“Workflow程序代码(HelloWorld).rar”压缩包中,我们很显然会找到一个简单的示例,它展示了如何使用Workflow框架来实现一个基本的“Hello, World!”程序。 Workflow Foundation(WWF),全称Windows ...
该文详细介绍了如何编写一个简单的WF 入门程序,图文并茂。WF支持有人参与的(Human)、系统的(System)、连续的(Sequential )和状态机(State-Machine)工作流。 Workflow Foundation允许你把一个工作流定义为...
本实例主要介绍如何在WinForms中创建一个简单的Workflow工作流,即“Hello World”示例。 首先,我们需要创建一个WinForms项目。在Visual Studio中,选择“新建项目”,然后在模板中找到“Windows Forms应用程序”...
2. `WorkflowSite.suo`:这是一个隐藏的用户特定的Visual Studio解决方案选项文件,存储了用户的个人设置和调试信息。它并不包含源代码,而是辅助开发者在IDE中获得个性化的工作环境。 3. `WorkflowSite`:这很可能...
这个项目可能会演示如何创建一个简单的ASP.NET Workflow,例如,一个用户注册流程,包括验证输入、发送确认邮件和更新数据库等步骤。通过分析和运行这个示例,初学者可以了解到如何定义活动、如何设置活动之间的转移...
这段代码创建了一个`WorkflowApplication`实例,并传递了一个新的`Workflow1`实例作为参数。最后调用`Run`方法来启动工作流。 ##### 1.5 代码方式创建WF4.0工作流 除了使用XAML来描述工作流之外,WF4.0还支持通过...
WorkflowCore是Daniel Gerlag开发的一款开源工作流引擎,其设计目标是提供一个易于使用的API,使开发者能够快速构建和执行复杂的工作流程。它支持多种工作流模型,如顺序流程、分支流程、循环流程等,并且能够轻松地...
然后,通过单元测试或运行一个简单的Java应用程序来启动这个流程实例。 最后,调试和优化代码以确保`fireworkflow`与MyEclipse的集成无误。这可能涉及到解决编译错误、调整代码以适应MyEclipse的编码规范,以及优化...
Windows Workflow Foundation是.NET Framework的一个组成部分,旨在简化业务流程的建模和实现。WF4是WF的第四代版本,引入了许多改进,包括更简洁的设计模型、更好的运行时性能以及对WCF和WF服务的集成。 在VS2012...
工作流的概念最初在1996年由Workflow Management Coalition在商业领域定义为:“根据一套操作规程,将文档、信息或任务从一个参与者传递给另一个参与者,以实现整个或部分业务流程的自动化。”在科学领域,工作流被...
在本文中,作者通过一个简单的邮政编码验证示例,逐步引导读者了解如何使用 WF 创建工作流应用程序。这个示例将检查输入的字符串是否符合美国 ZIP 编码或加拿大邮政编码的格式,从而判断其合法性。 【创建 Workflow...
作为Lotus Notes数据库和Windows程序的集成,Domino Workflow提供了一种专业且高效的工作流开发和管理解决方案。 **Domino Workflow的主要优点** 1. **规范化工作流应用开发**:Lotus Workflow致力于实现企业间...
标题中的"WorkFlow"指的是工作流,这是一个在IT领域中广泛使用的概念,特别是在业务流程管理和自动化中。工作流系统能够帮助组织和管理一系列相互关联的任务,确保它们按照预定义的规则和顺序顺利进行。 描述中提到...
Alfred是Mac OS上的一个效率工具,允许用户通过快捷键和自定义命令来执行各种操作,包括打开应用程序、搜索文件等。所以这个文件可能是为Alfred设计的一个工作流,使得用户可以通过Alfred快速启动并打开VS Code中的...
"Workflow Hello World"通常是指一个简单的示例,旨在介绍如何创建和执行基本的工作流。这个“Hello World”演示是学习工作流引擎和相关工具的入门教程,它将引导开发者了解工作流的基本概念、设计与实现。 首先,...
Windows Workflow Foundation (WF) 是微软推出的一个工作流引擎,它为开发者提供了构建、执行和管理工作流应用程序的能力。WF作为.NET Framework的一部分,首次出现在Visual Studio 2005中,它允许开发人员通过可视...
TMS Workflow Studio内含一个强大的工作流引擎,能够处理各种复杂的工作流程逻辑。它支持并行分支、循环、条件判断、事件等待等多种流程控制结构,使得开发者可以轻松构建出符合业务需求的动态工作流程。 3. **源...