zoukankan      html  css  js  c++  java
  • Beginning WF4读书笔计 - 第三章 02FlowSwitch和Parallel

     FlowSwitch

        其实“FlowSwitch”活动与“FlowDecision”活动类似,只不过“FlowSwitch”可以有不受限制的分支个数,而“FlowDecision”只有“True/False”两个分支。功能与C#中的“switch”关键字有类似的功能。

        在设计器中“FlowSwitch”活动形状如下:

     

    添加“FlowSwitch”活动

        首先在工作流设计器的最底部拖入一个“FlowSwitch”活动。由于在工具箱中,“FlowSwitch”活动是基于泛形的,所以在拖入时会弹出一个类型选择对话框。在本例中我们是对整型进行操作,所以只需要选择“Int32”即可。接下来分别从“Morning”、“Afternoon”和“Evening”活动建立与“FlowSwitch”的连接。在“FlowSwitch”活动中有一个“Expression”的属性,这个属性用于匹配各个分支的值。在本例中,我们将在的季节提示不同的“祝福”,所以在“Expression”设置如下值:

    CInt(((DateTime.Now.Month Mod 12) + 1) / 4)

         通过对表达式的分析,我们会发现12月、1月和2月将返回1;3月、4月、5月返回2,依此类推。接下来我们就将分别实现这四个季度的“祝福”活动了。

    添加“FlowStep”活动

        “FlowSwitch”的分支叫做“FlowStep”,但是在工具箱中并没有这个元素,你也无需为每个分支建立这个活动,这些会在你从“FlowSwitch”绘出连接时自动创建。接下来我们在靠近“FlowSwitch”的周四周,分别创建五个“WriteLine”活动,并分别设置它们的“DisplayName”为“Winter”、“Spring”、“Summer”、“Autumn”和“Default”。完成之后,从“FlowSwitch”中分别建立与它们的连接。

        接下来,我们选中连接“Winter”的线,并在其属性中设置“Case”值为“1”。类似操作,分别为“Spring”、“Summer”和“Autumn”设置为“2”、“3”和“4”,而“Default”我们则需要对其属性中的“IsDefaultCase”复选框选上,完成之后效果类似:

     

        当然要完全达与上面一样的效果,我们还得把“Winter”等活动的“Text”设置为类似“Happy Winter”。当然“Default”活动的“Text”除外,要设置为如下,以便输出更精确的信息。

    "Season calculated as: " + CInt(((DateTime.Now.Month Mod 12) + 1) / 4).ToString()

     

    运行程序(F5

     

      

    Parallel

        接下来我们将展示“Parallel”活动,“Parallel”活动是一个可以使许多活动并行执行的容器(宿主)。在本例中,每个分支都将显示一段信息,如果我们对显示的顺序并不在意的话,就可以让他们在“Parallel”活动中进行并行显示。

    添加“Parallel”活动

        从工具箱中拖一个“Parallel”活动到工作流视图的底部,并从各“WriteLine”活动建立与它的连接。如下图:

     

    添加分支

        双击“Parallel”活动,将进入其内部设计页面。进行后,我们拖入三个“WriteLine”活动,分别用于显示日期、时间和星期。并且分别在它们的“Text”中设置表达式如下:

             “Time:” + DateTime.Now.TimeOfDay.ToString()
    
             “Date:” + DateTime.Now.Date.ToShortDateString()
    
             “Today is :” + DateTime.Now.ToString(“dddd”)

     

        此时“Parallel”的设计视图如下:

     

     补充:

        在“Parallel”的作何分支中,只请允许有一个活动。如果想支持多个活动,那么可以先在分支中放一个“Sequence”活动,再把其它活动置于其内。

        好了,到目前为止,总流程视图将类似如下:

     

    运行程序(F5

     

    源代码:Chapter03

    与本系列相关的所有文档及代码索引请参考:

    《Beginning WF : Windows Workflow in .NET 4.0》读书笔记

  • 相关阅读:
    django基础之ORM基础知识
    Centos7 搭建sonarQube
    centos7安装部署SVN
    centos7.5 SVN 搭建
    centos 7 部署 zookeeper
    centos7 发送邮件
    Centos7安装配置Gitlab-CE
    openldap 双主模式部署
    K8s一键安装
    ELK实战部署
  • 原文地址:https://www.cnblogs.com/showjan/p/3012334.html
Copyright © 2011-2022 走看看