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

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

首页图表

应用列表

应用新增

任务作业列表

任务作业新增
功能:

框架技术栈
上述的思维导图层次也很清晰,整体上是前后分离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库稍微全一点。