WF的简单使用
WWF(Windows Workflow Foundation):是微软提供的工作流技术,工作流就是对工作流程的规范和抽象。主要有三个部分Activity(活动)、Runtime(工作流运行时)和Tooling(工具包),简称art(艺术)。
为什么要使用WF呢?
因为工作流程,我们即使使用代码也是可以完成相应的任务,但是为什么要使用工作流呢,优点:
1.简化工作量,将业务逻辑和具体实现分离出来,将大量的工作交给runtime。
2.工作流持久化,提高复用性。
3.增加透明性,可以让不懂程序的人修改逻辑。
创建一个简单实例
1.在WorkFlow条目下选择一个工作流控制台应用程序

2.工作流设计器中设计如下:


上面的整个图就是一个Flowchart,这也是工具箱“流程图”下的条目,其中上面的“代码行为”就是通过在项目中添加项目,“代码活动”,然后就可以添加代码逻辑。
3.代码活动中的代码JudgeActCodeActivity.cs
public sealed class JudgeActCodeActivity : CodeActivity
{
// 定义一个字符串类型的活动输入参数
public InArgument<string> InputAct { get; set; }
public OutArgument<int> Result { get; set; }
// 如果活动返回值,则从 CodeActivity<TResult>
// 派生并从 Execute 方法返回该值。
protected override void Execute(CodeActivityContext context)
{
// 获取 Text 输入参数的运行时值
string text = context.GetValue(InputAct);
int result;
switch (text)
{
case "石头": result = ; break;
case "剪刀": result = ; break;
case "布": result = ; break;
default: result = -; break;
}
context.SetValue(Result, result);
}
}
4,上面的代码的输入参数和输出参数,可以和XAML文件中的工作流进行交互,可以定义全局变量

5.具体的效果

WF的简单使用的更多相关文章
- oo第一单元学习总结
写在开头: 第一次接触面向对象思想和java语言,在学习以及完成作业的过程经历了一个比较痛苦的过程, 虽然在每次写作业时总是会有一些小小的抱怨,虽然写出的代码还是很差, 但是看到自己有所进步,还是感觉 ...
- 转《WF编程》笔记目录
<WF编程>笔记目录 2008-03-18 09:33 by Windie Chai, 26803 阅读, 49 评论, 收藏, 编辑 WF笔记开始 <WF编程>系列之0 - ...
- jsp简单标签开发(一)
孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...
- WF(二)
步骤一: 运用WF(一)中创建好的solution 重命名Workflow1.xaml,变为SayHello.xaml 并在属性窗口设置名称为HelloWorkflow.SayHello,如下图: ( ...
- Highcharts图形报表的简单使用
Highcharts是一个纯JavaScript框架,与MSChart完全不一样,可以在网页中使用,所以php.asp.net.jsp等等页面中都可以使用.Highcharts官网:http://ww ...
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...
- javaweb学习总结(二十五)——jsp简单标签开发(一)
一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...
- JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例
上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...
- JAVA基础知识之网络编程——-基于TCP通信的简单聊天室
下面将基于TCP协议用JAVA写一个非常简单的聊天室程序, 聊天室具有以下功能, 在服务器端,可以接受客户端注册(用户名),可以显示注册成功的账户 在客户端,可以注册一个账号,并用这个账号发送信息 发 ...
随机推荐
- Linux进程作业的查看和杀死
引入进程 进程 线程 PS命令.TOP命令.其他查看进程命令 进程的优先级 作业控制机制 kill命令 一.引入进程 1.内存划分为:用户空间和内核空间 1.在用户空间里运行的进程,就是用户进程,所属 ...
- springboot学习过程笔记
1.spring-boot-devtools热部署在IDEA中配置后不起作用(Eclipse设置了自动编译,所以不用额外设置) 1).pom.xml添加spring-boot-devtools依赖后 ...
- 绑定方式开始服务&调用服务的方法
1.编写activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- 【NLP】HanLP环境
1.参考:https://github.com/hankcs/pyhanlp 2.问题: C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-u617cf ...
- Linux最大打开文件描述符数
1. 系统最大打开文件描述符数:/proc/sys/fs/file-max a. 查看 $ cat /proc/sys/fs/file-max 186405 2. 设置 a. 临时性 ...
- 利用BurpSuite实现半自动化盲注
为了方便演示,这里直接使用字符,构造SQL Payload: ?id= and substring(user(),,)='r' 1.使用Burp抓包,发送到Intruder,设置模式和变量 2.设置字 ...
- 【RF库Collections测试】Sort List
Name:Sort ListSource:Collections <test library>Arguments:[ list_ ]Sorts the given list in plac ...
- 自己搭建CDN服务器静态内容加速-LuManager CDN使用教程
为什么要自己来搭建一个CDN服务器实现网站访问加速?一是免费CDN服务稳定性和加速效果都不怎么行:二是用国内的付费CDN服务价格贵得要死,一般的草根站长无法承受:三是最现实的问题国内的CDN要求域名B ...
- print($arr,true)的参数true表示将$arr的值返会,而不是打印
之前通过error_log()来调试php, 发现收到的json字符前边总是有一个1,一直以为是哪里直接出现了print.print_r.echo.var_dump(), 后来发现原来是某处用了形如e ...
- html2canvas - 微信中长按存图 - 将h5活动结果保存到本地
现在有很多在微信里流行的h5活动页.这些小h5大部分都是简单的交互然后得出一个abcd早就拟定好的结果,根据你的选项分几种情况,最终得到其中一个作为你测试的答案.比如这个就是最后那张结果图: 当时自己 ...