`
cloudtech
  • 浏览: 4605552 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

工作流(WF)编程入门

 
阅读更多

    一、WF基础

  1. 简介:WF被用于简化和争强.NET应用程序开发,WF不是一个独立的开发环境,它提供了一套用于辅助工作流的开发框架。
  2. 特点:

  3. WF的运行时引擎
  4. WF支持顺序工作流、状态机工作流和数据驱动工作流,并且支持工作流的持久化,
  5. WF支持使用特定领域模型解决问题,可以开发自己的活动组件,来引入对特定领域问题的解决方法。
  6. WF提供了完整的工作流系统,还提供了一套标准的活动、工作流持久化、工作流监控和追踪、规则引擎、工作流设计器以及项目开发模板。
  7. 可以修改WF的行为来扩展WF,比如,可以提供自定义的持久化服务来取代WF提供的SQL持久化服务。
  8. WF命名空间
  9. System.Workflow.Activities;工作流的活动。

    System.Workflow.ComponentModel;提供用于创建活动和工作流的基类、接口就核心建模构造。

    System.Workflow.Runtime;控制工作流运行时引擎和工作流实例执行的类。

    System.WorkflowServices提供工作流和WCF服务整合能力

  10. 来创造一个简单的工作流
  11. WF架构简介:首先启动WorkflowRuntime, 然后WorkflowRuntime开启一个独立的工作流任务。
  12. 二、使用WorkflowRuntimeWorkflowInstance类:WF可以宿主到多个应用程序里,在一个应用程序里可以有多个工作流引擎,并且运行时引擎的每个实例均可支持多个并发运行时的工作流实例。

  13. WorkflowRuntime工作流引擎
  14. WorkflowRuntime与宿主程序时在不同的线程中同时执行,各个事件也是异步执行的

    http://msdn.microsoft.com/zh-cn/library/ms611709.aspx

  15. 理解WorkflowInstance工作流实例:WorkflowInstance只是实际工作流的一个代理对象。都可以通过调用包含在WorkflowInstance类中的适当方法来执行操作。
  16. //与工作流实例中的公共可写属性对应。

    Dictionary<string, object> wfArgument = new Dictionary<string, object>();

    //将用户输入的信息转换为布尔值

    bool approvedarg = str == "Y" ? true : false;

    wfArgument.Add("Approved", approvedarg);

    //使用CreateWorkflow的重载方法创建工作流实例,并传递wfArgument作为参数。

    WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(ApprovalOrder.Workflow1),wfArgument);

    instance.Start();

    三、工作流类型和创建模式。

  17. 工作流类型:顺序工作流和状态机工作流。
  18. 简单的状态工作流实例:

  19. WF工作流的创建模式
  20. 仅限代码:默认创建模式。
  21. 代码分离:可以通过工作流标记XAML和代码分离隐藏实现定义工作流。与ASP.NET模式相同。
  22. 无代码:通过工作流标记XAML来创作工作流。
  23. 总结:本文讨论了WF的基础架构,并讨论了WF2大核心:WorkflowRuntimeWorkflowInstance.工作流类型和3种创建工作流模式。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics