zoukankan      html  css  js  c++  java
  • 跟我一起学Windows Workflow Foundation(5)使用activity设计器创建一个整合的定制activity

    Lab01已经完了,lab02中说的是创建自定义的Activity

    Activities是工作流模型的一个可执行单元,它可以被重用,也可以把多个Activities整合成一个Activities。一个工作流可以由多个Activities组成,一个Activities也可以由其他的Activities构成,最终,每个Activities都作为一个可执行单元的形式表现出来。这次,我们来学习创建一个简单的Activity。

    Activities是一个其实类,我们可以为其编写属性,方法和事件----这些属性方法和事件引用自workflow。我们还可以创建Activity并部署到.net程序集中来重用。

    先看第一个:

    使用activity设计器创建一个合成的定制activity

    在这个练习里,我们将创建一个有两个分开的代码段组成的activity,然后我们将在一个工作流项目中使用这个activity,运行这个工作流察看运行结果。

    创建一个新的WF项目

    1. 创建一个名称为CompositeActivitySample顺序工作流控制台应用程序。

    2.

    New Picture (8)

    3. 打开Program.cs查看其代码。

    4. Program.csMain()方法包含了启动,加载和执行和等待工作流完成的示例代码。

    5. 将项目中的Workflow1.cs重命名为HelloWorldWorkflow.cs并在弹出的提示对话框中选择时,修改所有代码引用。

    创建一个Activity项目

    现在我们已经创建了一个工作流项目,我们接下来要创建一个Activity项目来添加到解决方案。

    在这个项目中我们去定制一个新的activity,这个新的activity中我们去添加两个基本的activity --- code的来整合成我们定制的新的activity 。

    1. 新建一个项目,选择“工作流Activity库”,名称为HelloWorldActivityLibrary

    2. 重命名Activity1.cs为HelloWorldActivity.cs。同样在弹出的是否对起所有引用的项目执行重名名提示时选择是。

    3. 打开HelloWorldActivity的设计视图。

    4. 从工具箱中拖拽一个Code activity到我们的设计视图中。

    5. 如图:

    CropperCapture[2]

    CropperCapture[3]

    6. 修改起(Name)属性为writeHello

    CropperCapture[4]

    7. 双击设计视图中的writeHello activity创建一个writeHello_ExecuteCode方法。

    8. 在writeHello_ExecuteCode 方法中输入如下代码:

    Console.Write("Hello, ");

    9. 现在我们回到设计视图,再拖拽第二个Code activity到我们的设计视图中writeHello的下面,并修改(Name)属性为writeWorld

    10. 双击设计视图中的writeWorld activity创建一个writeWorld _ExecuteCode方法。

    11. 在 writeWorld _ExecuteCode 方法中输入如下代码:

    Console.WriteLine("World");

     

    生成工作流解决方案

    现在我们将刚刚创建的这个activity添加到工作流中,并运行察看效果。

    1. 我们点“生成---生成解决方案”或者直接点F6来生成解决方案。

    2. 选择CompositeActivitySample项目中的HelloWorldWorkflow.cs来打开设计视图。

    3. 这时,我们可以看到工具箱中会出现新的组件栏:

    4.

    5. 拖拽HelloWorldActivity到我们HelloWorldWorkflow的工作流设计视图中,并且把这个activity的(Name)属性修改为helloWorld

    New Picture (10)

    6. 现在我们把CompositeActivitySample作为启动项目按ctrl+f5查看运行结果吧。

    7. .

    8. 这里我们创建的这个activity按照顺序工作流的形式进行了执行。打印出“Hello,World”

    9. 现在我们应该已经知道怎样创建一个简单的合成的activity了吧 :)

  • 相关阅读:
    物料外部编码的模糊查询
    ◆◆1LSMW的简单范例-LSMW导入会计科目
    通过Tcode查找LSMW
    LSMW批量更新物料主数据
    ◆◆0HR报表开发-Join & Projection
    HR常用宏(一)
    ◆◆0PM01-创建信息类型(infotype)教程
    keras_9_激活函数 Activations
    keras_8_优化器 Optimizers
    keras_7_评估标准 Metrics
  • 原文地址:https://www.cnblogs.com/cxd4321/p/879726.html
Copyright © 2011-2022 走看看