关于ninject的最新版本(2.2.1.4)有几个问题。
尝试将Linq2sql DataContext
绑定到具体实现InRequestScope
(在类库项目中)
Bind<DataContext>().To<MoneywatchDataContext>()
但无法找到InRequestScope
方法
最终做到了这一点,
Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current)
只是想知道是否:
InRequestScope
方法完全相同。HTTContext.Current
为GC时,它会保证基础DataCotext
也将被处理掉。 答案 0 :(得分:47)
InRequestScope在Ninject.Web.Common中可用作扩展方法。所以如果先前通过Nuget(Ninject包)安装,我们可能需要安装额外的nuget包Ninject.Web.Common
答案 1 :(得分:33)
using Ninject.Web.Common; // that's most likely all you need
答案 2 :(得分:23)
您最有可能引用Ninject的无网页版本。将其替换为普通版本,您将拥有InRequestScope扩展方法。