【问题标题】:Where should Hangfire RecurringJob for a global service with EF DbContext be declared应该在哪里声明具有 EF DbContext 的全局服务的 Hangfire RecurringJob
【发布时间】:2017-12-18 03:12:42
【问题描述】:

我正在努力在文档中的任何地方找到答案。

应该在 MVC 应用程序中的何处声明/调用 Hangfire 重复作业?

所有教程都只展示了一个单行声明示例,这很明显:

RecurringJob.AddOrUpdate(() => MethodToRun(42, "foo"), Cron.Minutely);

但是,我不确定在哪里插入。

我需要一项服务在后台工作,以检查数据库中某些对象的状态并通过一些更改更新数据库。

这个服务应该只有一个实例,并且应该在应用程序启动后立即运行,所以我在想Startup.cs,就在我配置Hangfire之后?

此外,即使应该有一个实例,服务也不应该是静态/单例,因为我需要注入 EF DbContext,所以我希望我会遇到上下文实例的问题。 我想 Ninject 依赖注入可以很好地处理这种情况?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework ninject hangfire


    【解决方案1】:

    Startup.cs 中声明工作没问题。使用相同的上下文可能会产生问题。因此,最好为作业获取一个新的上下文实例。你可以在discuss.hangfire.io查看讨论帖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      相关资源
      最近更新 更多