在使用Quartz.net执行调度任务时,任务类必须实现IJob接口,如下
`public class DLLExecutor : IJob
{
public async Task Execute(IJobExecutionContext context)
{
//你的处理逻辑
}
}`
具备如上任务类之后,需要做的就是与JobDetial、Trigger进行关联,为了精简,忽略JobDetial、Trigger相关属性设置,代码如下
` //方式 1
Type type = typeof(DLLExecutor);
var jobBuilder = JobBuilder.Create(type);
//方式 2
var jobBuilder = JobBuilder.Create<DLLExecutor>();
//创建ITrigger
var triggerBuilder = TriggerBuilder.Create();
//调度器
var _scheduler = new StdSchedulerFactory().GetScheduler().GetAwaiter().GetResult();
//绑定
_scheduler.ScheduleJob(jobDetail, iTrigger);
`
好的,最简易的任务创建绑定完成,通过如上代码可知道,如果想在任务类中增加部分动态属性,只能**使用静态变量进行处理,且必须在使用前对静态变量进行赋值**,代码如下
`public class DLLExecutor : IJob
{
//日志组件,默认Log4Net,但也允许是Log4net、Nlog、ExceptionLess等等
public static ILogger Logger =log4net;
public async Task Execute(IJobExecutionC
Quartz.net-IJobFactory实现任务实例创建的依赖注入
最新推荐文章于 2024-08-08 21:21:17 发布
本文详细介绍了如何在Quartz.net中利用IJobFactory接口,结合依赖注入容器,实现任务实例的创建和管理工作,确保任务执行时能获取到所需的依赖服务。
摘要由CSDN通过智能技术生成