/// <summary> /// Resolves a dependency /// </summary> /// <param name="serviceType"></param> /// <returns></returns> public object GetService(Type serviceType) { object export; _compositionProvider.GetCompositionContext().TryGetExport(serviceType, out export); return(export); }
/// <summary> /// Get a controller instance either by getting it as export or using default MVC implementation to create controller instance and using the composition provider to satisfy imports if any /// </summary> /// <param name="requestContext"></param> /// <param name="controllerType"></param> /// <returns></returns> protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) { object controller; var context = _compositionProvider.GetCompositionContext(); context.TryGetExport(controllerType, out controller); if (controller == null) { controller = base.GetControllerInstance(requestContext, controllerType); context.SatisfyImports(controller); } return((IController)controller); }