public void OnResultExecuted(ResultExecutedContext context) { var fragmentContextProvider = context.HttpContext.RequestServices.GetService <IFragmentContextProvider>(); var fragmentContexts = fragmentContextProvider?.GetContexts()?.ToList(); if (fragmentContexts != null && fragmentContexts.Any()) { IFragmentRenderer renderer = context.HttpContext.RequestServices.GetService <IFragmentRenderer>(); Task.WaitAll(fragmentContexts.Select(renderer.RenderAsync).ToArray()); } }
public FragmentController(IFragmentResolver fragmentResolver, IFragmentRenderer fragmentRenderer, IFragmentOptionsProvider fragmentOptionsProvider, IViewRenderer viewRenderer, IFragmentRegistry fragmentRegistry) { _fragmentResolver = fragmentResolver; _fragmentRenderer = fragmentRenderer; _fragmentOptionsProvider = fragmentOptionsProvider; _viewRenderer = viewRenderer; _fragmentRegistry = fragmentRegistry; }