En resumen, estoy tratando de usar ELMAH con MVC 2 y Ninject, y necesito usar constructores sin parámetros. Creé una publicación inicial al respecto aquí: Using a parameterless controller constructor with Ninject?Uso de inyección de propiedad en lugar de inyección de constructor
Me aconsejaron usar inyección de propiedad en lugar de inyección de constructor. Así que me mudé de esto:
public class DepartmentsController : Controller
{
private IDepartmentsRepository departmentsRepository;
public DepartmentsController(IDepartmentsRepository departmentsRepository)
{
this.departmentsRepository = departmentsRepository;
}
...
}
a esto:
public class DepartmentsController : Controller
{
private IDepartmentsRepository _departmentsRepository;
[Inject]
public IDepartmentsRepository DepartmentsRepository
{
get { return _departmentsRepository; }
set { _departmentsRepository = value; }
}
...
}
Pero en mis otras funciones del controlador, si intento acceder a DepartmentsRepository o _departmentsRepository, me sale una referencia objeto no establecida como instancia de un objeto error cuando intento acceder a él.
¿Hay algo más que deba hacer aquí?
¿Estás usando 'Ninject.Web.Mvc'? –
Espera, ¿qué? ¿Qué requiere el uso de constructores sin parámetros? – jfar
Tengo un problema extraño en el que una dependencia particular no se resuelve cuando la propiedad tiene un nombre específico. Funciona bien si se renombra, pero todas las demás dependencias se resuelven normalmente (y la misma dependencia se resuelve bien en otros casos para el mismo nombre de propiedad). No tengo ni idea de por qué, pero siempre es algo para probar. –