问题
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

ended up doing this,
Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current)
Just wanted to find out if:
- If this will behave exactly like the
InRequestScope
Method. - That it will gurantee that when my
HTTContext.Current
is GC'ed the underlyingDataCotext
will be disposed as well.
回答1:
Most likely you reference a no web version of Ninject. Replace it with the normal version and you will have the InRequestScope extension method.
回答2:
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:
using Ninject.Web.Common; // that's most likely all you need
来源:https://stackoverflow.com/questions/6911894/ninject-inrequestscope-missing