我正在将Hangfire集成到应用程序(MVC5 4.6)中,以便安排每天晚上由管理员用户触发的每日同步任务。
问题是,我似乎不能让Hangfire与我目前的九弹设置玩得很好。它不只是运行函数本身,我需要安装Hangfire.Ninject包并在Startup.cs中注册内核。
问题是,我有依赖项A,它包含依赖项B,但依赖项B也包含依赖项A(周期性)。
由于这些在Ninject内核设置中被声明为inRequestScope,这并没有引起任何问题,但是这个特定项在整个应用程序中被大量使用,因此尝试删除周期性依赖是非常痛苦的,但是出于某种原因,Hangfire不接受它。
除了消除周期性依赖之外,还有其他选择吗?
发布于 2017-06-13 17:03:13
我仍然没有完全避免这个问题,但是为了Hangfire的目的,我决定注册一个不同的Ninject,并且可以精确地定制我需要的东西。
大多数依赖关系现在使用的是.InBackgroundJobScope()而不是.InRequestScope() (来自Hangfire Ninject nuget包),但奇怪的是,还有几个(幸运的是我不需要)仍然给我周期性的依赖问题。
https://stackoverflow.com/questions/44518203
复制相似问题