在我的ASP.Net MVC應用程序中,我實現了一個自定義ActionFilter來授權用戶。使用Castle Windsor向CustomAttribute注入依賴項
我用CastleWindsor提供依賴注入到所有控制器如下:
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;
}
在我的CustomAttribute,我需要被所有我控制器的依賴,但我無法對用戶構造基於注入的屬性。
那麼這裏最乾淨的方法是什麼?我如何提供依賴關係?
不要把行爲放在屬性中...... – 2011-05-25 18:25:19
可能重複[如何使用Windsor向ActionFilterAttributes注入依賴項](http://stackoverflow.com/questions/553330/how-do-i-use- windsor-injection-dependencies-into-actionfilterattributes) – BonyT 2011-05-31 09:54:56
恕我直言,最好的答案在這裏http://stackoverflow.com/questions/10708565/asp-net-mvc-ifilterprovider-and-separation-of-concerns(和在這個問題本身 - 非常好的例子(提示:'IFilterProvider'))。 – 2013-11-17 16:42:50