繁体   English   中英

如何在Quartz.net的作业类中使用某些服务和存储库?

[英]How can I use some of my services and repositories in job class of Quartz.net?

我需要在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>();

实际上将实例化您的工作者,并根据需要注入您的服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM