【问题标题】:Quartz fails if it has a parameterized constructor如果 Quartz 有一个参数化的构造函数,它会失败
【发布时间】:2021-07-26 12:03:10
【问题描述】:

有一个Consolle 应用程序,在其中我创建了实现IJob 的SmsSenderJob 类,我想在SmsSenderJob 构造函数中传输IPiggyBankSer 服务,但是它不起作用。当我添加一个构造函数时,Execute 方法没有被执行。

internal class SmsSenderJob : IJob
{
    private readonly double amount = 5;
    private IServiceProvider _provider;
    private IPiggyBankSer _piggy;
    private ILogger _logger;

    public SmsSenderJob(IJobExecutionContext context, IPiggyBankSer piggy)
    {
        _piggy = piggy;
        _logger = (ILogger)context.JobDetail.JobDataMap.Get("logger");
        _provider = (IServiceProvider)context.JobDetail.JobDataMap.Get("provider");
    }

    public async Task Execute(IJobExecutionContext context)
    {
           Console.Writline("Hello");
    }

【问题讨论】:

  • 你有什么错误吗?
  • @SaeedEsmaeelinejad 没有
  • 你能说明你是如何调用 Execute 的吗?

标签: c# quartz.net


【解决方案1】:

通常以下方法将有助于解决此类问题:

通常在提问时提供更多上下文信息会有所帮助,例如您使用的是 .NET Framework 还是 .NET Core、哪个版本的 Quartz 以及涉及哪些其他库,例如 MS DI 或其他。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 2012-08-08
    • 1970-01-01
    • 2015-06-12
    • 2011-07-06
    • 1970-01-01
    • 2021-01-11
    • 2015-09-04
    相关资源
    最近更新 更多