// // Authors: Nate Kohari , Josh Close // Copyright (c) 2007-2009, Enkari, Ltd. // // Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). // See the file LICENSE.txt for details. // namespace Ninject.Web.Mvc { using System.Web.Mvc; /// /// An that injects filters with dependencies. /// public class NinjectActionInvoker : ControllerActionInvoker { private readonly IFilterInjector filterInjector; /// /// Initializes a new instance of the class. /// /// The filter injector. public NinjectActionInvoker(IFilterInjector filterInjector) { this.filterInjector = filterInjector; } /// /// Gets the filters for the specified request and action. /// /// The controller context. /// The action descriptor. /// The filters. protected override FilterInfo GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor) { FilterInfo filterInfo = base.GetFilters(controllerContext, actionDescriptor); this.filterInjector.Inject(filterInfo); return filterInfo; } } }