Alex Rivera | Logout

How do I use Windsor to inject dependencies into ActionFilterAttributes

Asked 2009-02-16T13:39:10.277
17

Having seen how NInject can do it and AutoFac can do it I'm trying to figure out how to inject dependencies into MVC ActionFilters using Castle Windsor

At the moment I'm using an ugly static IoC helper class to resolve dependencies from the constructor code like this:

public class MyFilterAttribute : ActionFilterAttribute
{    
  private readonly IUserRepository _userRepository;
  public MyFilterAttribute() : this(IoC.Resolve<IUserRepository>()) { }
  public MyFilterAttribute(IUserRepository userRepository)
  {
     _userRepository = userRepository;
  }
}

I'd love to remove that static antipattern IoC thing from my filters.

Any hints to as how I would go about doing that with Castle Windsor?

And no, changing DI framework is not an option.

Edit
Report

1 Answer

18

When I needed this, I built upon the work others have done with Ninject and Windsor to get property injection dependencies on my ActionFilters.

answered 2009-11-06T12:41:11.617

Your Answer