工作流(WF)编程入门
- 简介:WF被用于简化和争强.NET应用程序开发,WF不是一个独立的开发环境,它提供了一套用于辅助工作流的开发框架。
- WF的运行时引擎
- WF支持顺序工作流、状态机工作流和数据驱动工作流,并且支持工作流的持久化,
- WF支持使用特定领域模型解决问题,可以开发自己的活动组件,来引入对特定领域问题的解决方法。
- WF提供了完整的工作流系统,还提供了一套标准的活动、工作流持久化、工作流监控和追踪、规则引擎、工作流设计器以及项目开发模板。
- 可以修改WF的行为来扩展WF,比如,可以提供自定义的持久化服务来取代WF提供的SQL持久化服务。
- WF命名空间
- 来创造一个简单的工作流
- WF架构简介:首先启动WorkflowRuntime, 然后WorkflowRuntime开启一个独立的工作流任务。
- WorkflowRuntime工作流引擎
- 理解WorkflowInstance工作流实例:WorkflowInstance只是实际工作流的一个代理对象。都可以通过调用包含在WorkflowInstance类中的适当方法来执行操作。
- 工作流类型:顺序工作流和状态机工作流。
- WF工作流的创建模式
- 仅限代码:默认创建模式。
- 代码分离:可以通过工作流标记XAML和代码分离隐藏实现定义工作流。与ASP.NET模式相同。
- 无代码:通过工作流标记XAML来创作工作流。
一、WF基础
特点:
System.Workflow.Activities;工作流的活动。
System.Workflow.ComponentModel;提供用于创建活动和工作流的基类、接口就核心建模构造。
System.Workflow.Runtime;控制工作流运行时引擎和工作流实例执行的类。
System.WorkflowServices:提供工作流和WCF服务整合能力
二、使用WorkflowRuntime和WorkflowInstance类:WF可以宿主到多个应用程序里,在一个应用程序里可以有多个工作流引擎,并且运行时引擎的每个实例均可支持多个并发运行时的工作流实例。
WorkflowRuntime与宿主程序时在不同的线程中同时执行,各个事件也是异步执行的
http://msdn.microsoft.com/zh-cn/library/ms611709.aspx
//与工作流实例中的公共可写属性对应。
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();
三、工作流类型和创建模式。
简单的状态工作流实例:
总结:本文讨论了WF的基础架构,并讨论了WF的2大核心:WorkflowRuntime和WorkflowInstance.工作流类型和3种创建工作流模式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏