我們已經看到我是如何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