protected override Type GetControllerType(RequestContext requestContext, string controllerName) { if (controllerName == null) { return(base.GetControllerType(requestContext, controllerName)); } string area = requestContext.RouteData.GetAreaName(); var serviceKey = ControllerConventionalRegistrar.GetControllerSerivceName(area, controllerName) + "Controller"; object instance = default(object); if (string.IsNullOrEmpty(area) || !_iocManager.IsRegistered(serviceKey)) { return(base.GetControllerType(requestContext, controllerName)); } return(_iocManager.GetHandlerType(serviceKey)); }