Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }