¿Cómo inyecto dependencias en el archivo global.asax.cs, es decir, la clase MvcApplication?Cómo inyectar dependencias en global.asax.cs
Al haber usado previamente el patrón Localizador de servicios (anti-) para la inyección de dependencias, trato de seguir los consejos de mejores prácticas en mi última aplicación MVC usando un contenedor IOC (específicamente Unity.Mvc3 porque viene con una implementación del IDependencyResolver fuera de la caja) y la inyección del constructor.
Todo parece bastante sencillo hasta ahora excepto por un par de inconvenientes, uno de los cuales se encuentra en global.asax.cs (el otro es para atributos personalizados, pero hay una pregunta sobre SO que cubre eso).
Los controladores de eventos HttpApplication en la clase MvcApplication como:
Application_Start()
Application_EndRequest(object sender, EventArgs e)
Application_AcquireRequestState(object sender, EventArgs e)
pueden requerir dependencias externas, por ejemplo una dependencia de un ILogService. Entonces, ¿cómo los inyectaré sin recurrir al patrón de localización de servicios (anti-) de, p.
private static ILogService LogService
{
get
{
return DependencyResolver.Current.GetService<ILogService>();
}
}
Cualquier ayuda/consejo ¡muy apreciado!
Hola, pregunta interesante! ¿Por qué no puede inyectar dependencias dentro de su global.asax en OnApplicationStarted? Si la aplicación no puede iniciarse, lo sabrá, ya que nada funcionará ... –