web-dev-qa-db-fra.com

Blazor, ASP.NET Core Hosted vs Server Side in ASP.NET Core

J'essaie mes mains sur blazor.Net qui est un cadre expérimental.

J'ai déjà développé un petit projet dans ce Framework et c'est génial.

Mais après une récente mise à jour dans Blazor Language Service le 14 novembre, je vois deux options dans la sélection de modèles.

enter image description here

Le premier est Blazor (ASP.NET Core Hosted)

Le deuxième est Blazor (côté serveur dans ASP.NET Core)

Il n'y a aucune information sur la différence entre eux,

Quelqu'un peut-il me dire quelle est la différence entre ces deux modèles et quand choisir lequel?

14
Tanwer

Dans le modèle d'hébergement côté serveur, Blazor est exécuté sur le serveur à partir d'une application ASP.NET Core. Les mises à jour de l'interface utilisateur, la gestion des événements et les appels JavaScript sont gérés via une connexion SignalR.

Dans le modèle côté client, l'application Blazor, ses dépendances et le runtime .NET sont téléchargés sur le navigateur et l'application est exécutée directement sur le thread d'interface utilisateur du navigateur. Toutes les mises à jour de l'interface utilisateur et la gestion des événements se produisent dans le même processus.

Avantages et inconvénients - lire la suite ici .

Le modèle côté serveur a été considéré comme moins risqué à publier en premier, nous le verrons donc en premier avec asp.net 3.0. le côté client viendra plus tard.

Avertissement: Ne pas utiliser dans le code de production avant d'avoir obtenu une version prise en charge.

10
JohnB

Je pense que la réponse acceptée ne répond pas à la question posée comme Mike-EEE mentionné dans l'un des commentaires.

Les informations nécessaires peuvent être trouvées sous ce lien: https://www.telerik.com/blogs/a-breakdown-of-blazor-project-types

Le modèle Blazor Full-Stack comprend la même structure de projet que le modèle côté client avec quelques ajouts. Tout comme le modèle côté client, il n'y a pas de code HTML rendu par le serveur et tous les fichiers sont livrés au client sous forme de fichiers statiques, y compris les binaires .NET. La différence est cependant ajoutée l'hébergement ASP.NET Core et l'API Web et un projet partagé pour une logique d'application commune.

Le modèle comprend trois projets: une application Blazor côté client Blazor.Client, une application serveur ASP.NET Core Blazor.Server et un projet partagé .NET Standard pour la logique d'application commune Blazor.Shared.

Le modèle de projet Blazor Server-Side adopte une approche sensiblement différente de la façon dont une application Blazor est fournie et interagit avec le navigateur. Lors de l'utilisation de la configuration côté serveur, Blazor utilise le navigateur comme "client léger" en déployant une application JavaScript SignalR sur le client. Sur le serveur, Blazor implémente un concentrateur SignalR communiquant avec le client via des sockets Web. Dans le modèle d'hébergement côté serveur, Blazor est exécuté sur le serveur à partir d'une application ASP.NET Core. Les mises à jour de l'interface utilisateur, la gestion des événements et les appels JavaScript sont gérés via la connexion SignalR. Dans cette configuration, WebAssembly n'est pas nécessaire et Blazor est exécuté sur le runtime ASP.NET Core sur le serveur. Toutes les mises à jour de l'interface utilisateur sont envoyées sous forme de différences, bidirectionnellement sous forme de paquets binaires sur les sockets Web. Pour l'utilisateur, l'application ne se distingue pas de toute autre application Web.

3
Lukasz Pomianowski