Dependency injection 在RequestScope中将Hangfire与Ninject配置集成的问题

Dependency injection 在RequestScope中将Hangfire与Ninject配置集成的问题,dependency-injection,ninject,asp.net-mvc-5,hangfire,hangfire.ninject,Dependency Injection,Ninject,Asp.net Mvc 5,Hangfire,Hangfire.ninject,我正在将Hangfire集成到一个应用程序(MVC5 4.6)中,以便安排通常由管理员用户每晚触发的每日同步任务 问题是,我似乎无法让Hangfire在我当前的Ninject设置中发挥出色。它不仅仅运行函数本身,我还需要安装Hangfire.Ninject包并在Startup.cs中注册内核 问题是,我有依赖项A,其中包含依赖项B,但依赖项B也包含依赖项A(循环) 由于这些都是在Ninject内核设置的RequestScope中声明的,这并没有引起任何问题,但是这个特定项在整个应用程序中使用得太

我正在将Hangfire集成到一个应用程序(MVC5 4.6)中,以便安排通常由管理员用户每晚触发的每日同步任务

问题是,我似乎无法让Hangfire在我当前的Ninject设置中发挥出色。它不仅仅运行函数本身,我还需要安装Hangfire.Ninject包并在Startup.cs中注册内核

问题是,我有依赖项A,其中包含依赖项B,但依赖项B也包含依赖项A(循环)

由于这些都是在Ninject内核设置的RequestScope中声明的,这并没有引起任何问题,但是这个特定项在整个应用程序中使用得太多了,因此尝试删除周期性依赖项会非常痛苦,但出于某些原因,Hangfire不会接受它


除了消除周期性依赖,还有其他选择吗

我仍然没有完全避免这个问题,但是出于Hangfire的目的,我决定注册一个不同的Ninject内核,并可以精确地定制我需要的东西


大多数依赖项现在使用.InBackgroundJobScope()而不是.InRequestScope()(来自Hangfire Ninject nuget软件包),但奇怪的是,一些其他依赖项(幸运的是我不需要)仍然存在周期性依赖项问题。

您遇到了什么错误?盲射:可以在a的构造函数中使用B的工厂
公共a(Func factoryOfB){this.factoryOfB=factoryOfB;}
,这样可以延迟B的实例化和循环性问题。看见