Размещено ли ядро ​​Blazor WASM Asp.net = сторона сервера Blazor?

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

Итак, если это правда, то относится ли это также к уровню, размещенному на ядре Asp.net, в приложении, размещенном на ядре Blazor WASM Asp.net? Это означает, что если у вас есть 1000 пользователей, одновременно отправляющих запросы к WebAPI, будет ли создано 1000 экземпляров для обработки запросов?


person Robert Mrobo    schedule 10.06.2020    source источник
comment
Пожалуйста, дайте ссылку на другое место.   -  person Robert Harvey    schedule 11.06.2020
comment
с blazor wasm он может работать в автономном режиме, но если ему нужна связь, он будет использовать signalr   -  person Daniel A. White    schedule 11.06.2020
comment
@RobertHarvey, позволь мне поискать статью. brb.   -  person Robert Mrobo    schedule 11.06.2020
comment
@Robert enet красиво объяснил это ниже   -  person Rahul    schedule 11.06.2020
comment
@ Рахул, это именно то, что я хотел знать ... он так ясно объяснил.   -  person Robert Mrobo    schedule 11.06.2020


Ответы (1)


Приложение Blazor Server работает на сервере и взаимодействует со своей клиентской стороной (браузером) через SignalR. Сервер не создает экземпляр приложения для каждого подключения к приложению. Поскольку код выполняется на сервере, и клиенту передаются только html diff-файлы для обновления DOM, сервер создает объект схемы для каждого подключающегося клиента, который хранит состояние приложения, данные сеанса и т. Д. Это может быть очень требователен, но все же работает, и сервер может одновременно обслуживать тысячи клиентов.

Размещенное приложение WebAssembly Blazor работает иначе. Роль сервера - обслуживать приложение только при первом обращении к нему. Само приложение запускается в браузере клиента, и все выполняется на клиенте. Сервер здесь не задействован. Выполнение HTTP-вызовов со стороны клиента Blazor к конечным точкам Web Api эквивалентно выполнению вызова AJAX из клиентского браузера к Web Api, когда ваше веб-приложение является, скажем, приложением MVC или приложением Razor Pages. Фактически, за кулисами приложение WebAssembly использует JavaScript Fetch Api для отправки HTTP-вызовов конечным точкам Web Api.

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

person enet    schedule 11.06.2020