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 = 0; break;
case "剪刀": result = 1; break;
case "布": result = 2; break;
default: result = -1; break;
}
context.SetValue(Result, result);
}
}
4,上面的代码的输入参数和输出参数,可以和XAML文件中的工作流进行交互,可以定义全局变量
5.具体的效果