Ninject InRequestScope缺失

时间:2011-08-02 12:13:42

标签: c# binding ninject ninject-2

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

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

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

但无法找到InRequestScope方法

enter image description here

最终做到了这一点,

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

只是想知道是否:

  1. 如果这与InRequestScope方法完全相同。
  2. 当我的HTTContext.Current为GC时,它会保证基础DataCotext也将被处理掉。

3 个答案:

答案 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扩展方法。