En mi aplicación ASP.Net MVC he implementado un Custom ActionFilter para autorizar a los usuarios.Inyectar dependencia en CustomAttribute usando Castle Windsor
utilizo CastleWindsor para proporcionar la inyección de dependencias en todos los controladores de la siguiente manera:
protected virtual IWindsorContainer InitializeServiceLocator()
{
IWindsorContainer container = new WindsorContainer();
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
container.RegisterControllers(typeof(HomeController).Assembly);
ComponentRegistrar.AddComponentsTo(container);
ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));
return container;
}
Dentro de mi CustomAttribute, necesito una dependencia que es utilizado por todos mis controladores, sin embargo soy incapaz de Constructor de usuario inyección basada en un atributo.
¿Cuál es la forma más limpia de salir? ¿Cómo puedo proporcionar la dependencia?
No ponga comportamiento en los atributos ... –
posible duplicado de [¿Cómo utilizo Windsor para inyectar dependencias en ActionFilterAttributes] (http://stackoverflow.com/questions/553330/how-do-i-use- windsor-to-inject-dependencies-into-actionfilterattributes) – BonyT
La mejor respuesta de mi humilde opinión está aquí http://stackoverflow.com/questions/10708565/asp-net-mvc-ifilterprovider-and-separation-of-concerns (y en esa pregunta sí mismo - muy buen ejemplo (pista: 'IFilterProvider')). –