Mi solución aplicación web se compone de 3 proyectos:¿Qué tan lejos llega Dependency Injection?
- aplicación web (ASP.NET MVC) Capa de lógica de negocios
- (Biblioteca de clases)
- base de datos de capa (Entity Framework)
Quiero usar Ninject para administrar la vida útil del DataContext
generado por el Entity Framework
en el Database Layer
.
La capa de lógica de negocios consta de clases que hacen repositorios de referencia (ubicados en la capa de la base de datos) y mi aplicación ASP.NET MVC hace referencia a las clases de servicio de la capa de lógica empresarial para ejecutar código. Cada repositorio crea una instancia del objeto MyDataContext
de la Entidad marco
Repositorio
public class MyRepository
{
private MyDataContext db;
public MyRepository
{
this.db = new MyDataContext();
}
// methods
}
clases de lógica de negocios
public class BizLogicClass
{
private MyRepository repos;
public MyRepository
{
this.repos = new MyRepository();
}
// do stuff with the repos
}
Will Ninject manejar la vida de MyDataContext
a pesar de la larga cadena de dependencias de la Web Aplicación a la capa de datos?
¿Qué significa "parece funcionar" significa? – jfar
@jfar: Lo comprobé hace unos momentos y llamé a kernel.Get <> dos veces me dio la misma instancia en la solicitud. No recuerdo exactamente cuáles fueron los problemas antes, pero de alguna manera decidí no usarlo. Mientras tanto, descargué nuevas fuentes, pero no las verifiqué hasta el día de hoy, por lo que fue posible corregirlas. – LukLed