/// <summary> /// Constructor /// </summary> /// <param name="compositionProvider"></param> public MvcMefDependencyResolver(CompositionContextProvider compositionProvider) { if (compositionProvider == null) { throw new ArgumentNullException("compositionProvider"); } _compositionProvider = compositionProvider; }
/// <summary> /// constructor /// </summary> /// <param name="compositionProvider"></param> public MvcMefControllerFactory(CompositionContextProvider compositionProvider) { if (compositionProvider == null) { throw new ArgumentNullException("compositionProvider"); } _compositionProvider = compositionProvider; }
/// <summary> /// Get a composition sub container scoped to the http request /// </summary> /// <returns></returns> public CompositionContext GetCompositionContext() { var currentHttpContext = HttpContext.Current; var export = CompositionContextProvider.GetCurrentCompositionContext(currentHttpContext); if (export == null) { export = _compositionContextFactory.CreateExport(); AddCompositionContext(currentHttpContext, export); } return(export.Value); }
/// <summary> /// Disposes of composition contexts (if any) which were allocated in the http request /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnEndRequest(object sender, EventArgs e) { CompositionContextProvider.DisposeCurrentCompositionContext(HttpContext.Current); }