c# - tutorial - bind ninject
Ninject InRequestScope perdido (3)
Haga un par de preguntas con respecto a la última versión (2.2.1.4) del ninject.
Estaba intentando vincular un DataContext
Linq2sql a una implementación concreta InRequestScope
(en un proyecto de biblioteca de clase)
Bind<DataContext>().To<MoneywatchDataContext>()
pero no pudo encontrar el método InRequestScope
terminé haciendo esto,
Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current)
Solo quería saber si:
- Si esto se comportará exactamente como el Método
InRequestScope
. - Que garantizará que cuando mi
HTTContext.Current
esté en GC, también se eliminará elDataCotext
subyacente.
InRequestScope está disponible como método de extensión en Ninject.Web.Common. Entonces, si se instaló anteriormente a través de Nuget (paquete Ninject), ahora es posible que necesitemos instalar el paquete nuget adicional Ninject.Web.Common
Lo más probable es que hagas referencia a una versión no web de Ninject. Reemplácelo con la versión normal y tendrá el método de extensión InRequestScope.
using Ninject.Web.Common; // that''s most likely all you need