Come si inseriscono le dipendenze nel file global.asax.cs, ad esempio la classe MvcApplication?Come iniettare dipendenze nel file global.asax.cs
Dopo aver utilizzato il pattern di identificazione servizio (anti-) per l'iniezione dipendente, sto cercando di seguire i consigli delle best practice nella mia ultima applicazione MVC utilizzando un contenitore IOC (in particolare Unity.Mvc3 perché include un'implementazione del IDependencyResolver out of the box) e iniezione del costruttore.
Tutto sembra abbastanza semplice fino ad ora tranne un paio di problemi, uno dei quali è nel global.asax.cs (l'altro è per attributi personalizzati ma c'è una domanda su SO che lo copre).
I gestori di eventi HttpApplication nella classe MvcApplication quali:
Application_Start()
Application_EndRequest(object sender, EventArgs e)
Application_AcquireRequestState(object sender, EventArgs e)
possono richiedere dipendenze esterne, ad esempio una dipendenza da un ILogService. Quindi, come faccio a iniettarli senza ricorrere al modello di localizzazione (anti-) di servizio ad es.
private static ILogService LogService
{
get
{
return DependencyResolver.Current.GetService<ILogService>();
}
}
Qualsiasi aiuto/consiglio molto apprezzato!
Ciao, domanda interessante! Perché non puoi iniettare dipendenze all'interno del tuo global.asax in OnApplicationStarted? Se l'applicazione non può essere avviata, ne sarai a conoscenza poiché nulla funzionerà ... –