zoukankan      html  css  js  c++  java
  • WF(Workflow foundation)与Asp.net结合

    案例1

    本文参考WF (Windows Workflow Foundation) 工作流学习(一)一个Asp.Net状态机验证程序 通过本文本文的介绍,我们主要了解wf中的状态机statemachine在asp.net下的运行机制。

    开发环境:win7+vs2008 sp1

    步骤1

    打开VS2008,创建一个解决方案WfAndAspNet,然后在该解决方案中添加一个Asp.net web应用程序WebApplication和状态机工作流库WorkflowLibrary。如下图所示。

    clip_image002clip_image004

    完整的解决方案如图所示。

    clip_image005

    其中AspNet和SequenceWorkflowLibrary是第二个项目用到的,这个稍后再提。

    步骤2

    为WorkflowLibray添加一个接口Interface1接口中只有一个方法:

    string Validate(string Name);

    步骤3

    打开WorkflowLibrary中的Workflow1.cs的设计视图,在其中添加两个状态stateActivity1和stateActivity2,然后在Workflow1InitialState中添加EventDriven活动eventDrivenActivity1,在stateAcitvity1状态中添加StateInitialzation活动stateInitialzationActivity1,如下图所示。

    clip_image007

    接着选中stateActivity2,右键以后会发现有“设置为初始状态”和“设置为已完成状态”,在这里我们选择“设置为已完成状态”,这时候stateActivity2右上角的图标会发生变化。

    步骤4

    双击eventDrivenActivity1活动,进入如下编辑视图

    clip_image008

    在eventDrivenActivity1中添加WebServiceInput事件,将参数配置到活动中去,属性如下图所示。

    clip_image009

    其中属性中的参数,我是通过对话框创建的,点击参数后面的小按钮,会弹出下面的对话框,选择“绑定到新成员”选项卡,创建属性。配置方法如下图所示:

    clip_image011

    在stateInitialzationActivity1活动中添加WebServiceOutput活动,并配置属性。如下图所示

    clip_image012clip_image013clip_image015

    双击webServiceOutputActivity1为这个活动添加代码:

    步骤5

    右键工作流项目WorkflowLibrary-->选择“作为Web 服务发布”,系统会自动生成一个Web Service。然后我们在asp.Net 程序中引用这个Web Service ,在Asp.Net 页面添加几个控件,再编写后台C#代码,就可以调用这个状态机中的方法。

    Default.aspx.cs代码

    前台代码:

    运行结果如下图所示

    3

    4

    案例2

    参考WF (Windows Workflow Foundation) 工作流学习(二)一个Asp.Net与顺序工作流结合的例子

    步骤1

    在WfAndAspNet解决方案中添加asp.net web应用程序AspNet以及一个顺序工作流库SequenceWorkflowLibrary

    步骤2

    为AspNet应用程序添加顺序工作流库SequenceWorkflowLibrary的引用以及对workflow程序集的引用,如下图所示

    1

    步骤3

    向Web.Config 中加入WF的注册。

     

    步骤4

    添加一个全局Global.asax 文件,添加如下代码

     

    步骤5

    向SequenceWorkflowLibrary中的workflow1.cs中添加一个代码活动,如下图所示

    2

    双击代码活动,添加该活动所对应的代码

     

    步骤6

    前台代码Default.aspx

     

    后台代码Default.aspx.cs

     

    最后程序界面如下图所示: 

    作者:xwdreamer
    欢迎任何形式的转载,但请务必注明出处。
    分享到:
  • 相关阅读:
    每周分享五个 PyCharm 使用技巧(一)
    深入理解 Python 中的上下文管理器
    Delphi中Chrome Chromium、Cef3学习笔记(四)
    DELPHI中自定义消息的发送和接收
    Delphi2010/XE2下隐藏程序系统任务栏的图标
    批处理经典入门教程!(从不懂到高手)第2/5页
    批处理经典入门教程!(从不懂到高手)1/5
    批处理taskkill运行结束不掉程序以及停留问题
    delphi EncdDecd.pas单元中Encoding方法出现#$D#$A的解决方法
    Delphi中Chrome Chromium、Cef3学习笔记(三)
  • 原文地址:https://www.cnblogs.com/xwdreamer/p/2297018.html
Copyright © 2011-2022 走看看