Hangfire-周期性工作和注入依赖

时间:2018-10-29 11:41:23

标签: c# dependency-injection hangfire

是否可以在Hangfire中将依赖项注入到重复执行的作业中,并在该作业的每次后续运行中都运行该注入?我已经尝试过了,但是我猜测一旦作业进入队列,其依赖项将被序列化为固定值,因为一旦尝试构建该作业(尤其是通过Hangfire UI),我的依赖项便全部为空。

1 个答案:

答案 0 :(得分:2)

您可以使用泛型重载将实例注入到您的定期工作中:

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

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

您还可以覆盖此行为或使用IoC容器(例如Ninject)。文档的Using IoC containers中对此进行了介绍。