我需要在Quartz.net的工作类别中使用一些服务 我将Autofac用作依赖项注入
public class PushJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
// need to use some service here
}
}
答案 0 :(得分:0)
如果您寻求最简单的解决方案,只需将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>();
实际上将实例化您的工作者,并根据需要注入您的服务。