以下文章来源于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库稍微全一点。