/// <summary> /// Use the container as dependency resolver for ASP.NET MVC /// </summary> /// <param name="compositionContext">container to use</param> public static void UseWithMvc(this CompositionContext compositionContext) { var compositionProvider = new CompositionContextProvider(compositionContext); var dependencyResolver = new MvcMefDependencyResolver(compositionProvider); DependencyResolver.SetResolver(dependencyResolver); var controllerFactory = new MvcMefControllerFactory(compositionProvider); ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
/// <summary> /// Constructor /// </summary> /// <param name="compositionProvider"></param> public MvcMefDependencyResolver(CompositionContextProvider compositionProvider) { if (compositionProvider == null) throw new ArgumentNullException("compositionProvider"); _compositionProvider = compositionProvider; }