using System; using System.Web.Mvc; using System.Web.Routing; using Ninject.Core; using Ninject.Core.Parameters; namespace NinjectMvc.Helpers { public class NinjectControllerFactory : IControllerFactory { private IKernel _kernel; public NinjectControllerFactory(IKernel kernel) { _kernel = kernel; } public IController CreateController(RequestContext context, string controllerName) { return _kernel.Get( With.Parameters .ContextVariable("controllerName", controllerName) ); } public void DisposeController(IController controller) { } } }