问题
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
InRequestScopeMethod. - That it will gurantee that when my
HTTContext.Currentis GC'ed the underlyingDataCotextwill 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