You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Blazor] Specialize pipeline for MapRazorComponents (#47649)
The current pipeline is common for MapRazorComponents and
RazorComponentResults which add extra complexity to MapRazorComponents
which we expect to be the common case.
The change splits the pipeline in two, so that we can simplify the
pipeline for MapRazorComponents, where we can make assumptions that
are not possible in RazorComponentResult.
This change introduces RazorComponentEndpointInvoker to capture all the
required state that is needed for rendering the component endpoint and
avoid additional closures from captured state caused by calling
Dispatcher.InvokeAsync.
We also guarantee that we only call `DispatchAsync` once at the root
level to enter the synchronization context.
Finally, we skip over all the render modes and preserve prerendered
component state mode update, since that's not needed at this level.
0 commit comments