Это две модели хостинга: на сервере и на клиенте.
Разница в том, размещено ли приложение на сервере или на клиенте.Хостинг сервера означает, что логика вашего приложения работает на сервере (вы можете думать, что она похожа на веб-форму), вы нажимаете кнопку, вызов «Ajax» отправляет запрос, сервер получает запрос и отправляет обратно обновленную информацию.стр.Однако здесь он использует SignalR, а не Ajax, который является низкоуровневым соединением сокетов (эффективное чтение).И вместо обновления всей страницы обновляются только соответствующие части (таким образом, это одностраничное приложение).
С другой стороны, клиентский хостинг означает, что ваша логика работает в браузере.Думайте об этом, как будто ваша логика C # преобразуется в JS, и она встроена в страницу.Так что логика работает в браузере.Это возможно после введения WebAssembly, о котором вы, возможно, захотите прочитать.
Допустим, вы хотите создать приложение калькулятора.В этом случае приложение, размещенное на сервере, должно будет связаться с сервером, чтобы рассчитать и получить результат для каждого вычисления, в то время как размещенное на нем клиент не нуждается, и рассчитать результат в браузере.
Вы можете спросить, почему мы имеемдва варианта.Причина в том, что поддержка WebAssembly (на которую опирается размещаемое клиентом приложение) во многих браузерах либо неполна, либо не существует, а производительность также сильно различается.
https://caniuse.com/#feat=wasm
Обновление:
Я вижу, куда вы идете сейчас.Путаница связана с тем, что при использовании Blazor, размещенного на клиенте, у вас есть опция --hosted
.Этот параметр означает, что Blazor должен включать среду выполнения ASP.NET Core.
Почему этот параметр?Потому что вы можете написать автономное приложение (например, приложение калькулятора), которое не требует какого-либо подключения к внешним службам, что делает ASP.NET Core неактуальным.Однако вам может потребоваться написать онлайн-приложение, которое обращается к онлайн-базе данных, внешним API-интерфейсам, выполняет проверку и т. Д. Для таких приложений вам потребуется стек ASP.NET Core для поддержки вашего приложения.
Проверкаэтот FAQ: https://github.com/aspnet/Blazor/wiki/FAQ#q-can-i-use-blazor-with-aspnet-core-on-the-server