以下文章来源于Dotnet9 ,作者SmartforXiaoYuan
项目简介
QuartzCore.Blazor 是一个基于 .Net5 开发的轻量级 Quartz 作业配置中心,实践应用 Ant Design Blazor 和 FreeSql 两个技术, 对这两个技术感兴趣的小伙伴可以加我一起学习讨论哦,对有 Quartz 有需求的小伙伴亦可以开箱即用Code First。
- 部署简单,支持
Docker部署。 - 支持定时
Http Web API调用(推荐),亦支持本程序集直接调用。 - 方便统计接入应用和任务项。
Blazor WASM模式,使用了 Ant Design Blazor。- 支持随时修改
Trigger,启动立刻生效,无需重启应用。 - 使用 FreeSql 作为数据库访问组件,亦可学习交流。
原项目地址:https://github.com/SmartforXiaoYuan/QuartzCore.Blazor。

仓库详情
点击在线展示 (Blazor WASM 首次加载会慢一些)
首页监控

首页图表

应用列表

应用新增

任务作业列表

任务作业新增
功能:
- 实时时间区间执行统计
- 应用管理
- 作业管理
- 执行日志
- 提供Cron表达式验证
框架技术栈

框架技术栈
分层介绍
上述的思维导图层次也很清晰,整体上是前后分离2层 Share DTO层。
QuartzCore.Blazor.Client是单独的前端(类似Vue,编译生成是静态文件)。

项目文件

编译生成
QuartzCore.Blazor.Share

Share
QuartzCore.Blazor.Server(API层)正好也是10层,哈哈

API
API 层用到的知识点应该大家都知道,这也不展开说了,就说一下为什么把 QuartzCore.Tasks 类库独立出来,不放在service层中:
- 主要的原因是反射的
Job注入的生命周期和Service生命周期不一致,会报错 ;
QuartzCore.MongoDB 层主要渲染首页图表的数据,appsettings 中亦可以设置是否使用MongoDB, 不使用则渲染图表数据。本项目 MongoDB 组件可选。
结尾:
本项目的初衷主要是为了实践 Blazor 和 FreeSql两个技术, 最后出来的成果(本项目)能分享给大家,作者是很开心的,感觉到了满满的成就感。
如果你对 Blazor 感兴趣,可以关注下 Ant Design Blazor。
如果你对 FreeSql 感兴趣,也可以关注下 FreeSql。
如果有人用到qz定时作业,也可以直接用本项目,我也很开心,欢迎大家提issues。
初识 Blazor 到实践,Blazor 类似于 Vue Cli, 官网说的也很简单,用 C# 代替 js 在前端的交互(也不全然,应是在能使用js的地方,尽量能使用C#)。
Blazor 同样也是前后端分离,使用 HttpClient 调用 Web API,本项目为了方便部署就建了同一个 Host,只需要在 Startup 中指定 Endpoints。
目前 WASM 的 Blazor性能还有很大提升空间。
大家可以多关注 Blazor 以及 Ant Design Blazor,Ant Design Blazor 还在起步阶段,还有很大的提升空间。
最后对 Blazor 感兴趣的小伙伴可以关注下 Ant Design Blazor 和 Bootstrap Blazor, 目前觉得Bootstrap Blazor库稍微全一点。


