WF4中对和WCF的整合提供更为强大的支持。WF4中提供了一些强大的内置消息活动,比如Send,Receive等。本文提供了一个简单的审批实例来给大家介绍下WF4.0中的工作流服务(Workflow Service),当然本文中的例子离实际的应用还差的很远。
1.我们要实现一个简单的请假审批流程,主要包括申请人填写表单提交申请,主管收到通知后进行审核,是否核可该申请,本文中主要实现第一步申请人提交申请,在提交申请中我们还会对业务层次做一些检查,如下图:
在该申请中申请人填写表单提交申请后,会进行业务逻辑上的检查即请假的开始时间应小于请假的结束时间,如果检查没有通过会给用户提示,如果通过则告诉用户申请成功送出。可以查看申请的所有单据的审批情况。
2.主管收到通知后打开申请,可以进行审核是否通过,这步会在后面的文章中实现,如下图:
3.我们需要先准备一张表来存储请假申请数据,表结构如下:
4.下面就来看看具体的程序实现,项目结构如下图:
CaryLeave.Activities:自定义活动库
CaryLeave.Contracts:契约库
CaryLeave.Data:数据层,采用AEF
CaryLeave.Service:WF4的工作流服务库
CaryLeave.Web:Asp.net WebForm客户端
5.我们主要来看下实现审批的工作流服务,如下:
6.在工作流服务中,我们首先会进行业务逻辑上的检查,即请假的开始时间应该小于请假的结束时间,通过后我们保存该申请,并给用户发送回复信息,其中的检查请假时间的工作流CheckService.xamlx如下:
具体的程序请大家直接看代码吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器