简述
有时会遇到需要在IJob实现类中依赖注入其他类或接口的情况,但Quartz的默认JobFactory并不能识别具有有参构造函数的IJob实现类,也就无法进行依赖注入
注:该情况通常出现在低版本中,较高版本中可以通过以下方式开启依赖注入支持,更高的版本中默认使用DI而无需使用该函数,且该函数会在未来被移除(具体的版本分界线我并不清楚)
builder.Services.AddQuartz(q =>
{
q.UseMicrosoftDependencyInjectionJobFactory();
......
需要被依赖注入的类:
public class TestClass
{
public TestClass(Type jobType, string cronExpression)
{
JobType = jobType;
CronExpression = cronExpression;
}
public Type JobType { get; }
public string CronExpression { get; }
}
解决方式
1.安装依赖:Quartz、Microsoft.Extensions.DependencyInjection




1916

被折叠的 条评论
为什么被折叠?



