Autofac容器中的Quartz.NET调度问题
创始人
2024-11-12 11:30:34
0

我们可以通过为Quartz.NET注册一个作用域解析器来解决这个问题。这将确保在每次调用作业时创建新的作用域。

第一步是注册作用域解析器。我们可以在注册Autofac容器时添加以下代码:

var builder = new ContainerBuilder(); builder.Register(c => new AutofacJobFactory(c.Resolve())).As().SingleInstance(); builder.RegisterModule(new QuartzAutofacFactoryModule());

在这个示例中,我们注册了AutofacJobFactory并将其指定为IJobFactory的实现。这将确保在每次需要创建作业实例时都会使用Autofac进行解析。

接下来,我们需要创建AutofacJobFactory。这个类都可以很简单,只需要继承IJobFactory并覆盖CreateJob方法即可:

public class AutofacJobFactory : IJobFactory { private readonly IComponentContext _componentContext;

public AutofacJobFactory(IComponentContext componentContext)
{
    _componentContext = componentContext;
}

public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
{
    return _componentContext.Resolve(bundle.JobDetail.JobType) as IJob;
}

public void ReturnJob(IJob job)
{
    // Do nothing
}

}

在AutoFacJobFactory中,我们将作业创建的责任委托给Autofac。这样,我们就可以确保每次需要创建作业时都会使用新的作用域,从而解决了Quartz.NET调度在Autofac容器中出现的问题。

相关内容

热门资讯

必看攻略!悟空大厅微信辅助,泉... 必看攻略!悟空大厅微信辅助,泉州相约十三水辅助,详细挂(有挂方式)1、全新机制【泉州相约十三水辅助a...
必备教程!微信小程序中至赣牌圈... 必备教程!微信小程序中至赣牌圈辅助,蘑菇辅助脚本,详细挂(有挂攻略);1、玩家可以在微信小程序中至赣...
今日重大通报!欢乐联盟卡五星辅... 今日重大通报!欢乐联盟卡五星辅助,广西微乐小程序脚本,详细脚本(有挂实锤)1、实时欢乐联盟卡五星辅助...
重大科普!来几局辅助器开挂,链... 重大科普!来几局辅助器开挂,链接大厅辅助插件有哪些,详细神器(果真有挂)1、金币登录送、破产送、升级...
实测教程!大玩家福建十三水辅助... 实测教程!大玩家福建十三水辅助,决战卡五星辅助修改器,详细教程(有挂秘笈)1、点击下载安装,决战卡五...
记者爆料!乐平包王讨赏辅助,上... 记者爆料!乐平包王讨赏辅助,上饶中至能操控吗,详细脚本(发现有挂)1、记者爆料!乐平包王讨赏辅助,上...
玩家必备教程!四川微乐自建房辅... 玩家必备教程!四川微乐自建房辅助器,桂麻圈辅助,详细教程(有挂方法)1、这是跨平台的四川微乐自建房辅...
来一盘!家家盘锦开挂,潮友辅助... 来一盘!家家盘锦开挂,潮友辅助插件,详细器(有挂详情)1、打开软件启动之后找到中间准星的标志长按。2...
玩家必看教程!天天开心王国辅助... 玩家必看教程!天天开心王国辅助器,蘑菇云辅助怎么使用,详细软件(有挂分析)进入游戏-大厅左侧-新手福...
推荐十款!好玩贰柒拾辅助,手机... 推荐十款!好玩贰柒拾辅助,手机游戏挂机辅助软件,详细插件(存在有挂)1)手机游戏挂机辅助软件免费钻石...