Ninject InRequestScope丢失

有几个关于ninject最新版本(2.2.1.4)的问题。

正在尝试将Linq2sql DataContext绑定到具体实现InRequestScope (在类库项目中)

 Bind<DataContext>().To<MoneywatchDataContext>() 

但找不到InRequestScope方法

在这里输入图像说明

结束了这样做,

 Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current) 

只是想知道是否:

  1. 如果这将performance完全像InRequestScope方法。
  2. 这将保证,当我的HTTContext.Current是GC'ed底层的DataCotext也将被处置。

最有可能的是你引用一个没有networking版本的Ninject。 将其replace为正常版本,您将拥有InRequestScope扩展方法。

InRequestScope在Ninject.Web.Common中可用作扩展方法。 所以如果现在通过Nuget(Ninject包)安装,我们可能需要安装额外的nuget包Ninject.Web.Common

 using Ninject.Web.Common; // that's most likely all you need