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 = 0; break;
                case "剪刀": result = 1; break;
                case "": result = 2; break;
                default: result = -1; break;
            }
            context.SetValue(Result, result);
        }
    }

4,上面的代码的输入参数和输出参数,可以和XAML文件中的工作流进行交互,可以定义全局变量

5.具体的效果

 

posted @ 2017-08-08 16:22  善良的小赵  阅读(514)  评论(0编辑  收藏  举报