c# - 如何在 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();
任何帮助都会非常有帮助。
谢谢你。
解决方案
推荐阅读
- android - Ionic 4 Deeplinking - 如果未安装应用程序,则启动网站
- sql - 如何使用 SQL Oracle 将字符串日期时间转换为字符串?
- django - 如何在 Django 视图类中设置缓存控制标头(无缓存)
- python - 熊猫数据框上的高效矢量化替换
- azure-iot-central - 在 azure IoT Central 中哪里可以找到设备的模块名称
- export - 如何出口所有产品?
- python - 添加一天到日期列 - dateadd 或 timedelta
- php - 在方法内部调用setter方法
- google-fit-api - Google Fit REST API 移动分钟数
- r - 在矩阵中使用 vctrs