重复作业和注入依赖

Recurring Job and injected dependency

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

您可以使用通用重载将一个实例注入到您的循环作业中:

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

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

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