В чем разница между RenderMode.Server и RenderMode.ServerPrerendered в блазоре? - PullRequest
2 голосов
/ 04 октября 2019

В чем разница между

@(await Html.RenderComponentAsync<Todo>(RenderMode.ServerPrerendered))

и

@(await Html.RenderComponentAsync<Todo>(RenderMode.Server))

Я изучал документацию, но не смог найти то, что объясняет разницу. и также не совсем понимаю комментарии к коду над перечислением:

    // Summary:
    //     Renders a marker for a Blazor server-side application. This doesn't include any
    //     output from the component. When the user-agent starts, it uses this marker to
    //     bootstrap a blazor application.
    Server = 2,
    //
    // Summary:
    //     Renders the component into static HTML and includes a marker for a Blazor server-side
    //     application. When the user-agent starts, it uses this marker to bootstrap a blazor
    //     application.
    ServerPrerendered = 3

Что происходит за кулисами? И каковы сценарии использования Server vs ServerPrerendered?

1 Ответ

3 голосов
/ 04 октября 2019

Полное объяснение в Обновления ASP.NET Core и Blazor в .NET Core 3.0 Preview 9 :

  • Статическая статическая визуализация компонентас указанными параметрами.
  • Сервер Визуализация маркера, в котором компонент должен интерактивно отображаться приложением Blazor Server.
  • ServerPrerendered Статическая предварительная визуализация компонента вместе с маркеромчтобы указать, что компонент должен быть позже представлен интерактивно приложением Blazor Server.

Эта концепция связана с performance . Самый быстрый способ обслуживания страницы - это статическая визуализация страницы, а затем ее отправка, а самый медленный способ обслуживания страницы - обслуживание страницы «интерактивного сервера Blazor» (с действительным виртуальным DOM, синхронизированным через веб-сокеты сигнала R).

ServerPrerendered - это компромисс: Blazor предварительно отрисовывает страницу и отправляет ее как статическую страницу, позже страница становится интерактивным приложением сервера Blazor. Это поведение предназначено для быстрого предоставления страниц поисковым системам с позиционированием по времени.

...