我需要在 Quartz.net 的作业类中使用我的一些服务我使用 Autofac 作为依赖注入
public class PushJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
// need to use some service here
}
}
我需要在 Quartz.net 的作业类中使用我的一些服务我使用 Autofac 作为依赖注入
public class PushJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
// need to use some service here
}
}
如果您寻求最简单的解决方案,只需将 PushJob 类作为起点 = DI 的组合根,如下所示:
public class PushJob : IJob
{
private IContainer _container;
public async Task Execute(IJobExecutionContext context)
{
Register();
DoWork();
}
}
在 Register() 中只需创建您的容器实例,注册所有依赖项并存储在 _container 中。然后在 DoWork 中执行以下操作:
var worker = _container.Resolve<IWorker>();
这实际上会根据需要使用注入的服务来实例化您的工作人员。