WWF3入门<第一篇>
工作流是什么东西?暂时还不是很弄得清除。
工作流是用来解决什么问题的?暂时只是形成了一个很模糊的概念,还没办法用语言描述出来。
一、入门范例
以VS2008为例,先来创建一个WWF程序。

在工具箱中,拖一个Code到"活动"中

打开codeActivity1的属性面板,在ExecuteCode里双击,然后进入,键入如下代码:
namespace WorkflowConsoleApplication1
{
public sealed partial class Workflow1 : SequentialWorkflowActivity
{
public Workflow1()
{
InitializeComponent();
} private void CodeExecute(object sender, EventArgs e)
{
Console.WriteLine("Hello World -- 工作流启动了!");
Console.ReadKey();
}
}
}
启动,项目,输出如下:

二、创建应用程序项目
WWF工作流都是控制台程序,为了更好地给大家进行演示,这里创建一个Windows应用程序作为它的宿主的载体。
新建一个Windows Form应用程序,引用如下控件。

和之前一样,在Winform程序中,创建一个工作流项目,结构如下

在Winform程序的代码(Winform引用工作流项目):
public partial class Form1 : Form
{
//定义工作流运行时Runtime容器
private WorkflowRuntime workflowRuntime;
//定义工作流实例
private WorkflowInstance workflowInstance; public Form1()
{
InitializeComponent(); //启动工作流运行时的容器
workflowRuntime = new WorkflowRuntime();
workflowRuntime.StartRuntime();
} private void button1_Click(object sender, EventArgs e)
{
//指定需要引用的工作流名称
Type type = typeof(WorkflowConsoleApplication1.Workflow1); //在工作流运行时Runtime容器中注册一个工作流实例
workflowInstance = workflowRuntime.CreateWorkflow(type); //启动该工作流实例
workflowInstance.Start();
}
}
工作流的代码Console.Write()改为MessageBox.Show();
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
MessageBox.Show("Hello World -- 工作流启动了!");
}
点击按钮,输出如下:

WWF3入门<第一篇>的更多相关文章
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- Flink入门-第一篇:Flink基础概念以及竞品对比
Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...
- Zookeeper 入门第一篇
转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...
- JavaMail入门第一篇 邮件简介及API概述
现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...
- flask入门第一篇
一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...
- Android JNI入门第一篇——HelloJni
android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...
- NLP初试牛刀,NLTK入门第一篇
之前下载过一个PDF,书名是<用python进行自然语言处理>,挺有意思的,加上NLP和机器学习目前大热,想趁着暑假涉猎一下.于是开始了入门NLP之旅. 安装环境:Ubuntu14.04桌 ...
- struts快速入门第一篇 —— struts相关XML配置映射及讲解
我们回忆一下在学习JavaWeb过程中(Jsp + servlet编程)所感受到的Servlet的不足: 1 Servllet很多时,web.xml中的代码会很多.这样一来,维护起来就不方便,不利于团 ...
- AJAX入门第一篇就够了
什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...
随机推荐
- ADF_General JSF系列2_创建JSF类型的页面向导
2015-02-17 Created By BaoXinjian
- DBA_Oracle DBA常用SQL汇总(概念)
2014-06-20 Created By BaoXinjian
- web提前做好测试
1.压力测试,找到极限点和瓶颈,最小化扩容2.消息队列应对高并发的写操作 根据数据大小分成不同队列,保证效率 堵塞队列,压队列机极限处理能力3.主要业务和次要业务分开,当出现异常时保障主要业务,保证系 ...
- [复变函数]第15堂课 4.3 解析函数的 Taylor 展式
1. Taylor 定理: 设 $f(z)$ 在 $K:|z-a|<R$ 内解析, 则 $$\bee\label{15:taylor} f(z)=\sum_{n=0}^\infty c_n(z ...
- Home键状态保存运用场景
当我们在一个Activity中有接收Intent过来的值,或者当前Activity有保存数据时候,如果此时不小心按到了Home键,然后没有及时回来而是运行了其它应用程序,当你想起来的时候,恐怕已经是几 ...
- FBI传授9秘诀:如何看穿对方在撒谎 z
第1招:不提及自身和姓名 美国赫特福德郡大学的心理学家韦斯曼说,〝人们在说谎时会本能地把自己从他们所说的谎言中剔除出去〞.所以如果你向某人提问时,他们总是反覆地省略〝我〞,他们就有被怀疑的理由了.反过 ...
- 拥抱高效、拥抱 Bugtags 之来自用户的声音(四)
小编按:这是一篇 Bugtags 用户来稿,经过一段时间的密集使用,他已然觉得 Bugtags 是 App 开发者的好帮手,感谢解铃 App - 楚琪同学对 Bugtags 的信赖和支持.小编在这里诚 ...
- channelartlist标签调用实例
channelartlist标签,大家都知道在DedeCMS的系统中,我们可以用这个标签进行循环子栏目及其栏目的文档数据,这也是DedeCMS系统中,唯一一个支持标签嵌套的调用标签,以DedeV5.6 ...
- Replace JSON.NET with Jil JSON serializer in ASP.NET Web API
I have recently come across a comparison of fast JSON serializers in .NET, which shows that Jil JSON ...
- JDBC中的PreparedStatement-防止SQL注入攻击
在JDBC对数据库进行操作的时候,SQL注入是一种常见的针对数据库的注入攻击方式.如下面的代码所演示,在我们的提交字段中掺入了SQL语句,会使得程序的登录校验失效: package org.lyk.m ...