我为每个应用层都有单独的Ninject模块,在他们自己的项目中定义。我试图在控制台应用程序,服务和我的Web应用程序中重用相同的模块。但是,对于少数几个绑定,我根据应用程序的类型对它们进行了不同的调整:InSingletonScope
,InRequestScope
等。现在,这些绑定最终会出现在我的顶级模块中,因为范围的差异。例如,在我的Web应用程序中,DbContext
的范围设置为InRequestScope
。它在我的控制台应用程序中设置为InSingletonScope
。
最后,我想打破我的顶级项目与实现所在项目之间的直接依赖关系。很高兴地说,"找到T的绑定并将此范围应用于它。"它看起来不受支持。我想知道是否有办法在事后更新绑定的范围或装饰具有要使用的范围的Ninject模块。