首页 > 解决方案 > 如何在 Quartz.Net Job 中使用依赖注入 (Autofac) 获取服务

问题描述

我正在使用 Autofac 进行依赖注入,使用 Quartz.net 来安排作业。当我尝试使用以下代码从 Quartz.Net 作业访问服务时,该作业未执行。

private readonly IEmailSender _emailSender;
private readonly ILogger _logger;

public SendMailTask(IEmailSender emailSender, ILogger logger)
{
   _emailSender = emailSender;
   _logger = logger;
}

服务在应用程序启动时注册。

var builder = new ContainerBuilder(); builder.RegisterModule(new AutofacWebTypesModule());   
builder.RegisterControllers(Assembly.GetAssembly(typeof(HomeController)));
builder.RegisterType<EmailSender>().As<IEmailSender>().InstancePerRequest();
builder.RegisterType<DefaultLogger>().As<ILogger>().InstancePerRequest();

任何帮助都会非常有帮助。

谢谢你。

标签: c#asp.net-mvcautofacquartz.net

解决方案


推荐阅读