Опционально запустить сервер Blazor - PullRequest
1 голос
/ 13 апреля 2019

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

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

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

1 Ответ

1 голос
/ 13 апреля 2019

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

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

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

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

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

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

...