Необязательно запускать серверную часть blazor

#c# #blazor #blazor-server-side #razor-components

#c# #blazor #blazor-на стороне сервера #razor-компоненты

Вопрос:

Насколько я понимаю, razor components работает полностью на стороне сервера, каждый вызов метода приводит к отправке запроса signalr на сервер, и вызываемый метод выполняется на сервере.

Однако в blazor библиотеки DLL и среда выполнения отправляются клиенту, а методы выполняются в браузере. Чтобы выполнить вызов сервера, мне теперь нужно создать API и выполнить стандартные запросы API.

Что я хотел бы знать, так это то, возможно ли в blazor вообще выполнять все на стороне клиента как обычно, но для некоторых методов, которые будут выполняться на стороне сервера? Итак, своего рода гибрид между компонентами blazor и razor? Итак, устраняем необходимость в API?

Ответ №1:

Razor Components — устаревший термин, относящийся к компонентной структуре, с помощью которой можно создавать либо серверные приложения Blazor, либо клиентские приложения. Это был неудачный короткий срок. В настоящее время имя Blazor используется для обозначения компонентной среды, с помощью которой можно создавать либо серверные приложения Blazor, либо клиентские приложения. На самом деле так мы назвали оба вида приложений с самого начала.

Клиентские приложения выполняются в браузере через WebAssembly. Серверное приложение Blazor полностью выполняется на сервере и взаимодействует с браузером через SingnalR.

Интерфейсные приложения Blazor, вообще говоря, требуют, чтобы вы создали веб-API на сервере и использовали Ajax (HttpClient) для связи с сервером.

Какую модель выполнения вы выберете, зависит от требований вашего приложения. Серверные приложения Blazor лучше всего подходят для корпоративных приложений внутри сети, в то время как клиентские приложения Blazor лучше всего подходят для работы в общедоступном Интернете. Каждый способ выполнения имеет свои преимущества и недостатки.

Я думаю, гибридные приложения возможны, но, вообще говоря, рекомендуется ли это? Когда? Как? Слишком рано знать… В конце концов, структура находится в стадии разработки, и шаблоны соответствующего кодирования еще предстоит сформулировать с течением времени. Но, конечно, вы можете создать клиентское приложение Blazor, которое взаимодействует с веб-API, который предоставляет конечные точки SignalR.(Вы хотели это знать, верно?)

Надеюсь, это поможет…

Комментарии:

1. Все, что я читаю, предполагает, что razor compents является текущим термином, не устаревшим и будет выпущен во второй половине этого года, может быть, я читаю неправильные документы, у вас есть ссылка на некоторые текущие документы?: learn.microsoft.com/en-us/aspnet/core/razor-components /.

2. Нет, вы не читаете неправильные документы, вы читаете устаревшие документы… прочитайте следующее, которое само по себе уже устарело в терминах Blazor: github.com/aspnet/AspNetCore/issues/8931