小编Dar*_*ren的帖子

使用 Quartz.NET 3.0.3 和 Simple Injector How To 进行构造函数注入

我正在尝试在 Windows 服务中使用 Quartz.Net v3.0.3 和 Simple Injector。

我有一个工作类,我想在其中注入一些依赖项,例如我的记录器。

public class JobWorker :  IJob
{
    private ILogger _logger;

    public JobWorker(ILogger logger)
    {
        _logger = logger;
    }

    public Task Execute(IJobExecutionContext context)
    {
        return Task.Run(() =>_logger.Log("Do Work"));
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试Container.Register<IJob, JobWorker>();在我的 DI 层上注册,但这没有帮助。

如果我删除注入的依赖项并简单地使用默认的无参数构造函数,则作业会正确触发。

根据 Steven 下面的帖子,建议是创建一个工厂,但是在新框架的上下文中提供的答案已经过时,我完全不知道如何将依赖项注入作业。

使用 Quartz.NET 和 Simple Injector 进行构造函数注入

c# windows-services dependency-injection quartz.net simple-injector

3
推荐指数
1
解决办法
4364
查看次数