我们已经看到我是如何NInject can do it和AutoFac can do it试图找出如何使用温莎城堡如何使用温莎依赖注入ActionFilterAttributes
目前我使用的是一个丑陋的静态到依赖注入MVC ActionFilters IoC的辅助类来解决从构造函数代码依赖这样的:
public class MyFilterAttribute : ActionFilterAttribute
{
private readonly IUserRepository _userRepository;
public MyFilterAttribute() : this(IoC.Resolve<IUserRepository>()) { }
public MyFilterAttribute(IUserRepository userRepository)
{
_userRepository = userRepository;
}
}
我很想从我的过滤器去除静态反模式的IoC的事情。
任何暗示,我会如何去做与温莎城堡?
而且,不改变DI框架不是一种选择。
我同意:属性不应该是“可执行的”,而只是一个标签。 – 2009-02-16 23:24:53
非常感谢您的回答!我运行了几个mods:1)Container.Resolve行需要一个通用参数。我改变它使用Container.Resolve(serviceType)并将其转换。 2)我继承了mvccontrib WindsorControllerFactory并在CreateController()中添加了ActionInvoker。 – 2009-02-17 08:23:59