The Blazor Server Hosting Model

Using the Blazor Server hosting model, Blazor is executed on the server from within an ASP.NET Core app. UI updates, event handling, and JavaScript calls are handled over a SignalR connection.

A web server capable of hosting an ASP.NET Core app is required. Visual Studio includes the Blazor Server App project template (blazorserverside template when using the dotnet new command).


What ended up coming out of the initial effort by Microsoft to run .Net code in the browser was some seriously good patterns utilising SignalR and Websockets.

As of ASP.Net core 3.0, Blazor Server is production ready

READ SLIDE


With the Blazor Server hosting model, the app is executed on the server from within an ASP.NET Core app. UI updates, event handling, and JavaScript calls are handled over a SignalR connection.


Blazor can run your client logic on the server. Client UI events are sent back to the server using SignalR - a real-time messaging framework. Once execution completes, the required UI changes are sent to the client and merged into the DOM


SHOW LINK - More on SignalR

https://github.com/assemblysoft/AssemblySoft.WonkaBuild


Blazor server apps run your components on the server, on top of .Net core.

Blazor server then set up a real time connection with the browser, typically over a web socket using signal R

Events that then happen in the browser are sent to the server and handled by your components which then render

Blazor then keeps track of any changes that are made to the UI using a sophisticated diffing algorithm

Any changes are then sent back down to the browser and applied to the DOM

Blazor server apps use a very thin client that can run great on low bandwidth devices and in older browsers

.Net code runs on a full .Net core runtime

Normal .Net features like .Net debugging just work

Can simplify architecture by eliminating the need to stand up additional apis and endpoints

All code stays on the server so as the app grows, the application size doesn’t increase

Blazor Server has been supported since ASP.Net core 3.0 so ready for production

Blazor code executing on the server has the flexibility to do anything you would normally do on the server, such as connecting directly to a database.

For a reasonable UI experience, we recommend a sustained UI latency of 250ms or less.