Ninject InRequestScope missing

2019-04-17 19:25发布

Have a couple of questions regarding the latest version (2.2.1.4) of ninject.

Was trying to Bind a Linq2sql DataContext to a concrete implementation InRequestScope (in a class library project)

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

but could not find InRequestScope method

enter image description here

ended up doing this,

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

Just wanted to find out if:

  1. If this will behave exactly like the InRequestScope Method.
  2. That it will gurantee that when my HTTContext.Current is GC'ed the underlying DataCotext will be disposed as well.

3条回答
贪生不怕死
2楼-- · 2019-04-17 20:04

InRequestScope is available as extension method in Ninject.Web.Common. So if installed earlier through Nuget (Ninject package) now we might need to install additional nuget package Ninject.Web.Common

查看更多
看我几分像从前
3楼-- · 2019-04-17 20:11

Most likely you reference a no web version of Ninject. Replace it with the normal version and you will have the InRequestScope extension method.

查看更多
SAY GOODBYE
4楼-- · 2019-04-17 20:16
using Ninject.Web.Common;    // that's most likely all you need
查看更多
登录 后发表回答