tutorial c# binding ninject ninject-2

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:

  1. Si esto se comportará exactamente como el Método InRequestScope .
  2. Que garantizará que cuando mi HTTContext.Current esté en GC, también se eliminará el DataCotext 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