Después de haber visto cómo NInject can do it y AutoFac can do it Estoy tratando de encontrar la manera de inyectar dependencias en ActionFilters MVC usando el castillo de Windsor¿Cómo uso Windsor para inyectar dependencias en ActionFilterAttributes
En este momento estoy usando una estática fea COI clase de ayuda para resolver las dependencias del código de constructor de la siguiente manera:
public class MyFilterAttribute : ActionFilterAttribute
{
private readonly IUserRepository _userRepository;
public MyFilterAttribute() : this(IoC.Resolve<IUserRepository>()) { }
public MyFilterAttribute(IUserRepository userRepository)
{
_userRepository = userRepository;
}
}
me encantaría para eliminar esa cosa COI antipatrón estática de mis filtros.
Alguna pista a como cómo iba a ir haciendo eso con el castillo de Windsor?
Y no, cambiar el marco DI no es una opción.
Acepto: los atributos no deben ser "ejecutables" sino solo una etiqueta. –
muchas gracias por su respuesta! Me puse a correr con algunas modificaciones: 1) la línea Container.Resolve requiere un parámetro genérico. Lo cambié para usar Container.Resolve (serviceType) y lo fundí. 2) Heredé mvccontrib WindsorControllerFactory y agregué ActionInvoker en CreateController(). –