Per farla breve, sto cercando di utilizzare ELMAH con MVC 2 e Ninject e ho bisogno di utilizzare costruttori senza parametri. Ho creato un post iniziale su di esso qui: Using a parameterless controller constructor with Ninject?Utilizzare l'iniezione di proprietà invece dell'iniezione del costruttore
Mi è stato consigliato di utilizzare l'iniezione di proprietà invece dell'iniezione del costruttore. Così mi sono trasferito da questo:
public class DepartmentsController : Controller
{
private IDepartmentsRepository departmentsRepository;
public DepartmentsController(IDepartmentsRepository departmentsRepository)
{
this.departmentsRepository = departmentsRepository;
}
...
}
a questo:
public class DepartmentsController : Controller
{
private IDepartmentsRepository _departmentsRepository;
[Inject]
public IDepartmentsRepository DepartmentsRepository
{
get { return _departmentsRepository; }
set { _departmentsRepository = value; }
}
...
}
ma nel mio altre funzioni del controller, se provo ad accedere DepartmentsRepository o _departmentsRepository, ottengo un riferimento oggetto non impostato a un'istanza di un errore dell'oggetto quando provo ad accedervi.
C'è qualcos'altro che devo fare qui?
Si sta utilizzando 'Ninject.Web.Mvc'? –
Aspetta cosa? Cosa ti richiede di usare costruttori senza parametri? – jfar
Sto avendo uno strano problema in cui una particolare dipendenza non viene risolta quando la proprietà ha un nome specifico. Funziona bene se rinominato, ma tutte le altre dipendenze si risolvono normalmente (e la stessa dipendenza si risolve in altri casi con lo stesso nome di proprietà). Non ne ho idea, ma è sempre qualcosa da provare. –