Как работает режим автоматического рендеринга в Blazor .NET 8?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как работает режим автоматического рендеринга в Blazor .NET 8?

Сообщение Anonymous »


Я экспериментировал с Blazor в .NET 8 и пытаюсь понять, как работает режим авторендеринга. Насколько я узнал, Blazor изначально использует соединение WebSocket в автоматическом режиме для обеспечения интерактивности посредством рендеринга на стороне сервера. Затем он переключается на WebAssembly (WASM), когда ресурсы WASM загружаются в фоновом режиме.

Однако в ходе тестирования я заметил, что интерактивность недоступна до тех пор, пока ресурсы WASM не будут полностью загружены. На вкладке сети моего браузера я вижу соединение WebSocket, но кажется, что пользовательский интерфейс просто предварительно визуализируется, а не является интерактивным.

Я также узнал, что компоненты, которые будут отображаться в WASM, должны быть помещены в проект ProjectName.Client, и для этих компонентов нельзя установить какой-либо другой режим рендеринга, кроме WASM ( включая режим сервера). Но если автоматический режим требует, чтобы компоненты были интерактивными через соединение WebSocket (как в приложениях Blazor Server) в первый раз, как эти компоненты можно поместить в проект ProjectName.Client?< /п> В своих тестах я включил регулирование сети для имитации медленной сети и обнаружил, что автоматический режим ведет себя почти так же, как режим рендеринга WASM. Оба режима предлагают предварительный рендеринг, но интерактивность отсутствует до тех пор, пока ресурсы WASM не будут загружены, даже в автоматическом режиме.

Кроме того, я заметил, что если я отключу предварительный рендеринг как в режиме WASM, так и в режиме автоматического рендеринга, ни один из компонентов не будет виден до тех пор, пока ресурсы WASM не будут полностью загружены. Похоже, это противоречит идее о том, что автоматический режим должен обеспечивать интерактивность как можно скорее.

Я посмотрел на YouTube видео Стива Сандерсона, создателя Blazor. В видео показано, что когда компонент впервые загружается в автоматическом режиме, он визуализируется и становится интерактивным с использованием соединения WebSocket. Со второго обновления он загружается через WebAssembly. Однако, похоже, я не наблюдал такого поведения в своих тестах.

Может ли кто-нибудь объяснить, как автоматический режим должен работать в Blazor .NET 8? Если это WASM, только с предварительным рендерингом, то в чем его разница с режимом рендеринга WASM (поскольку во всех интерактивных режимах рендеринга предварительный рендеринг включен по умолчанию)? Будем очень признательны за любую информацию 🙏.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»