【问题标题】:Recurring Job and injected dependency重复作业和注入依赖
【发布时间】:2018-10-29 11:41:22
【问题描述】:

是否可以将依赖注入到 Hangfire 中的重复作业中,并为该作业的每次后续运行运行该注入?我已经尝试过了,但我猜一旦作业排队,它的依赖项就会被序列化,因为一旦尝试构建作业,我的依赖项都是空的,特别是通过 Hangfire UI。

【问题讨论】:

    标签: c# dependency-injection hangfire


    【解决方案1】:

    您可以使用泛型重载将实例注入到您的重复作业中:

    RecurringJob.AddOrUpdate<Foo>(“JobId”, x => x.DoSomething(), Cron.Hourly)
    

    这将使用其默认构造函数创建该类的一个实例,如文档中的Passing dependencies 所述。

    您还可以覆盖此行为或使用 IoC 容器,例如 Ninject。这在文档中的Using IoC containers 中有介绍。

    【讨论】:

    • 我看不到 RecurringJob 上的通用重载,看起来它是最近才添加的,可能是在 API 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多