今天看电子书《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,>
分享到:
相关推荐
该文详细介绍了如何编写一个简单的WF 入门程序,图文并茂。WF支持有人参与的(Human)、系统的(System)、连续的(Sequential )和状态机(State-Machine)工作流。 Workflow Foundation允许你把一个工作流定义为...
Windows Workflow Foundation(以下简称WWF)提供了一个编程框架和工具以开发和执行各种不同的基于工作流的应用程序,比如文档管理、线型的商业应用、贸易单据流程、IT管理、B2B应用以及消费者应用。 有状态的、...
TelegramWorkflow是一个简单的实用程序,可帮助您组织代码以创建Telegram机器人。 它包括HTTP客户端,该客户端实现了完整的Telegram API和一组帮助程序,以改善开发体验。 安装 将此行添加到您的应用程序的Gemfile...
Ansible-tower-workflow-approvals.zip,向ansible tower工作流模板提供选通批准的ansible行动手册...tower-workflow-approvals,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-devops-workflow.zip,演示典型devops工作流的repo,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Windows Workflow Foundation并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。 程序示例为WCF的简单应用,如何创建合约,如何配置。程序中有详细的说明注释,请下载源码程序学习使用来自51...
WF使用了一种开创性的方法来编写和执行程序。本书两位作者从WF项目立项开始就参与这个项目,负责规划、设计、开发了其中的大部分技术。在本书中,作者高屋建瓴地探讨了WF中的关键概念和整体架构,不仅涉及如何使用WF...
group_workflow 食品订购应用程序是一个简单的应用程序,可用于小吃店,饭店,快餐连锁店等。菜单及其价格可直接编程。 该应用程序将帮助您更快,更轻松地接单和盘点订单。
这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 用浏览器打开以查看结果。 您可以通过修改pages/index.js来开始编辑页面。 页面在您编辑文件时自动更新。 可以在上访问。 可以在pages/...
flask-example-cicd 这是一个用于托管简单Web应用程序的简单python flask应用程序。 启动flask应用程序之后,您可以访问服务器上的以下URL: 功能网址指数...
辅助工作流 (aw) AW 是一种 CLI 工具,可根据 github 拉取请求...安装将此行添加到应用程序的 Gemfile 中: gem 'assisted_workflow'然后执行: $ bundle或者自己安装: $ gem install assisted_workflow初始设置assi
workflow 工作流设计器,自研表单及流程设计,UI简洁美观,操作超级简单!!普通用户也能分分钟上手,不需要专业知识。支持可视化拖拽表单组件,动态任意层级结构审批节点,支持复杂流程条件设置
一个asp.net+wwf简单实例,主程序和workflow之间互相传值。
Workflow Engine NET 包括一个 html5 设计器: 样品: 1. 示例/MSSQL - MS SQL Server 示例 打开解决方案:Samples\MSSQL\WF.Sample.sln 检查 WF.Sample\Configuration\ConnectionString.config 中的连接字符串。 ...
Alfred-Workflow通过为您提供工具在几分钟内从API,应用程序或库创建快速且功能强大的Alfred工作流,从而消除了编写工作流的繁琐工作。 始终支持所有当前的Alfred功能。产品特点为您的工作流程自动保存的设置API 超...
用于JavaScript的Asgardeo Auth SPA SDK允许单页应用程序以简单且安全的方式使用OIDC或OAuth2身份验证。 通过使用Asgardeo和JavaScript SPA SDK,开发人员将可以轻松地在其单页应用程序中添加身份管理。 安装 从npm...
example-perl:一个简单的Perl应用程序,用于开源PaaS Deis
工作单位模式储存库模式IOC容器(Autofac) 美人鱼引导程序自动贴图反射吊火下载后,您应该从包管理器控制台中运行以下命令,并选择默认项目:WorkFlowManager.Common PM>更新数据库快乐的设计;) 您可以从查看应用...
SAP Workflow Service示例应用程序描述允许您构建,运行和管理工作流,从简单的批准到跨不同组织和应用程序的端到端流程。 借助收件箱应用程序和定制的用户界面,您可以使最终用户参与业务流程,以进行决策和数据...
尽管这只是一个简单的示例,但是在执行缓慢而复杂的任务(例如进行ML预测,建立建议或更新数据库)时,相同的工作流程可能会有所帮助。 演示版 该应用程序由Redis(Celery的代理和后端),Celery工作者以及Flask...