Опционально запустить сервер Blazor

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

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

Я хотел бы знать, возможно ли в Blazor вообще выполнять все на стороне клиента, как обычно, но для некоторых методов на стороне сервера? Так что-то вроде гибрида между бритвой и бритвой? Так покончить с необходимостью API?

1 ответ

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

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

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

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

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

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

Другие вопросы по тегам