首页 > 其他分享 >基于Quartz的可视化UI操作组件GZY.Quartz.MUI更新说明(附:在ABP中集成GZY.Quartz.MUI可视化操作组件)

基于Quartz的可视化UI操作组件GZY.Quartz.MUI更新说明(附:在ABP中集成GZY.Quartz.MUI可视化操作组件)

时间:2023-05-26 15:55:31浏览次数:59  
标签:Quartz ABP GZY 组件 如图 MUI

前言

时隔2年.(PS:其实陆陆续续在优化,不过没发博客)..

.本组件又迎来了新的更新...

很久没更新博客了.生了娃,换了工作单位,太忙了..实在抱歉

NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介

GitHub开源地址:l2999019/GZY.Quartz.MUI: 基于Quartz的轻量级,注入化的UI组件 (github.com) (欢迎点Start收藏~)

总而言之,这个组件主要想做的就是:像swaggerUI一样,项目入侵量小,仅需要在Startup中注入的UI组件

先上一张效果图,给没用过的兄弟们科普一下,如图:

 

更新内容

接下来,介绍一下更新了哪些功能.

1.修复采用数据库持久化数据的情况下,偶尔出现的异常.   --此BUG由于IOC生命周期的问题导致,所以重现较为麻烦,特别感谢--Jiadm的commented 

2.新增DLL类型的Job 可以自动加载进下拉框进行选择并可以进行模糊搜索,如图:

 

3.新增QuartzUI界面的HttpBasic基础授权认证.(因为有兄弟反馈说希望有身份认证,不过我这里也只新增了最基础的HttpBasic授权..因为每个项目的授权可能都不一样, 我就不过多扩展了)

在 app.UseQuartz();上面添加app.UseQuartzUIBasicAuthorized(); 就可以启动基础授权了.

 

默认账户名密码是Admin 123456

会自动读取配置文件中的QuartzUI节点下面的UserName和Pwd配置项 所以可通过配置文件修改.如图:

效果如图:

 

 

ABP中如何集成组件

ABP因为进行了很多深度封装

所以使用本组件与纯粹的ASP.NET CORE中使用会有细微差别

首先,组件要运行在一个Web类型的项目里,也就是ABP的HOST类型.

Web,WebAPI,RazorPage都可以

我们需要在ABP的组件的Module中添加如下代码:

 

var optionsBuilder = new DbContextOptionsBuilder<QuarzEFContext>();
optionsBuilder.UseMySql(AppSettingConfig.Config["QuartzUI:ConnectionString"],
ServerVersion.AutoDetect(AppSettingConfig.Config["QuartzUI:ConnectionString"]), optionsBuilder =>
{
  optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
});
context.Services.AddScoped<GZY.Quartz.MUI.Areas.MyFeature.Pages.MainModel>();
context.Services.AddQuartzUI(optionsBuilder.Options);
context.Services.AddQuartzClassJobs();

唯一的区别就是,我们需要添加,如下这段代码

context.Services.AddScoped<GZY.Quartz.MUI.Areas.MyFeature.Pages.MainModel>();

因为注入机制的问题,这里要手动注入一下

对应的OnApplicationInitialization方法中,我们也需要添加

app.UseQuartz();

这样我们就可以愉快的在ABP的Application层当中写业务代码了.

类似如图:

 然后创建我们的Job类,需要继承IJobService,如图:

 运行项目,就可以在DLL类型的JOB中找到对应的类名了,如图:

 

使用注意事项

 

有个比较重要的注意事项,一直忘记说了,这里也提一下

因为组件使用RCL的技术实现的,所以在开发环境需要手动添加一下静态资源包

.NET5.0的兄弟应该在Program类中添加如下代码:

webBuilder.UseStaticWebAssets();

如图:

 

.NET6.0+的兄弟 应该添加如下代码:

 

标签:Quartz,ABP,GZY,组件,如图,MUI
From: https://www.cnblogs.com/GuZhenYin/p/17434965.html

相关文章

  • Quartz.Net 调度器
    首先需要引入Quartz.Net的命名空间,例如: usingQuartz;usingQuartz.Impl;​然后创建一个调度器工厂(SchedulerFactory),并使用该工厂创建一个调度器(IScheduler)对象: ISchedulerFactoryschedulerFactory=newStdSchedulerFactory();ISchedulerscheduler=await......
  • quartz定时任务时间设置
    每天凌晨2点002**?和每天隔一小时0**/1**?例1:每隔5秒执行一次:*/5****?例2:每隔5分执行一次:0*/5***?在26分、29分、33分执行一次:026,29,33***?例3:每天半夜12点30分执行一次:0300**?(注意日期域为0不是24)每天凌晨1点执行一次:001**?......
  • 常见问题——Quartz.net 部署IIS
    问题:Quartz部署在IIS失效原因:IIS一般默认应用程序池有设置固定时间间隔(分钟)默认1740,以及闲置超时(分钟)默认20解决方案:IIS->应用程序池->选中指定的网站右键高级设置->回收->固定时间间隔(分钟)设置为0IIS->应用程序池->进程模型->限制时间(分钟)设置为0......
  • Quartz.Net间隔N周/日/年定时触发器写法总结
    由于近日在定时器中对特殊的规则(既不能通过表达式直接体现的)的用法初步汇总:本次使用的Quartz.Net的版本号:2.61.触发器测试验证publicclassTestQuartz{///<summary>///间隔N周定时触发器写法测试///</summary>publicstatic......
  • Java 定时任务quartz
    Java定时任务quartz1.java自带java.util.Timer实现定时任务2.使用线程池(ScheduledThreadPool-java.util.concurrent.ScheduledExecutorService)实现定时任务3.使用注解@Scheduled实现定时任务4.使用Quartz定时任务调度器4.1Quartz特点4.2核心概念4.3常用对象4.4实例......
  • Quartz任务调度器详解
    关键字:介绍QuartzQuartz是一个开源的任务调度系统,它能用来调度很多任务的执行。运行环境Quartz能嵌入在其他应用程序里运行。Quartz能在一个应用服务器里被实例化(或servlet容器),并且参与XA事务Quartz能独立运行(通过JVM),或者通过RMIQuartz能......
  • 七、使用调度框架quartz,为12306系统增加定时调度功能
    为什么要有定时调度定时调度在企业级系统中非常重要(统计报表、功能补偿、不紧急的大批量任务)12306每天都需要生成15天后的车次数据本章内容集成quartz,比较SpringBoot自带定时任务喝quartz的区别使用控台来操作定时任务:新增、暂停、重启、删除项目中增加batch定时调度......
  • .netcore 使用Quartz定时任务
    这是一个使用.NETCore和Quartz.NET实现定时任务的完整示例。首先确保已经安装了.NETCoreSDK。接下来按照以下步骤创建一个新的控制台应用程序并设置定时任务:创建一个新的.NETCore控制台应用程序:dotnetnewconsole-nQuartzDemocdQuartzDemo通过NuGet添加......
  • boot-admin整合Quartz实现动态管理定时任务
    淄博烧烤爆红出了圈,当你坐在八大局的烧烤摊,面前是火炉、烤串、小饼和蘸料,音乐响起,啤酒倒满,烧烤灵魂的party即将开场的时候,你系统中的Scheduler(调试器),也自动根据设定的Trigger(触发器),从容优雅的启动了一系列的Job(后台定时任务)。工作一切早有安排,又何须费心劳神呢?因为boot-admin早已......
  • SpringBoot 集成 Quartz + MySQL
    Quartz简单使用JavaSpringBoot中,动态执行bean对象中的方法源代码地址=>https://gitee.com/VipSoft/VipBoot/tree/develop/vipsoft-quartz工作原理解读只要配置好DataSourceQuartz会自动进行表的数据操作,添加QuartzJob任务保存QRTZ_JOB_DETAILS、QRTZ_TRIGGERS=>QR......