Utiliser gRPC dans les applications de navigateur
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 8 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la Stratégie de prise en charge de .NET et .NET Core. Pour la version actuelle, consultez la version .NET 8 de cet article.
Important
Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour la version actuelle, consultez la version .NET 8 de cet article.
Il n’est pas possible d’appeler directement un service gRPC à partir d’un navigateur. gRPC utilise les fonctionnalités HTTP/2 et aucun navigateur ne fournit le niveau de contrôle requis sur les requêtes Web pour prendre en charge un client gRPC.
gRPC sur ASP.NET Core offre deux solutions compatibles avec les navigateurs, le transcodage gRPC-Web et gRPC JSON.
gRPC-Web
gRPC-Web permet aux applications de navigateur d’appeler des services gRPC avec le client gRPC-Web et Protobuf.
- Semblable à gRPC normal, mais avec un protocole filaire légèrement différent, ce qui le rend compatible avec HTTP/1.1 et les navigateurs.
- Nécessite que l’application de navigateur génère un client gRPC à partir d’un fichier
.proto
. - Permet aux applications de navigateur de tirer parti d’une utilisation réseau faible et à hautes performances des messages binaires.
.NET intègre la prise en charge de gRPC-Web. Pour plus d’informations, consultez gRPC-Web dans les applications ASP.NET Core gRPC.
Transcodage JSON gRPC
Le transcodage gRPC JSON permet aux applications de navigateur d’appeler des services gRPC comme s’il s’agissait d’API RESTful avec JSON.
- L’application de navigateur n’a pas besoin de générer un client gRPC ou de savoir quoi que ce soit sur gRPC.
- Les API RESTful sont créées automatiquement à partir des services gRPC en annotant le fichier
.proto
avec des métadonnées HTTP. - Permet à une application de prendre en charge les API Web gRPC et JSON sans dupliquer l’effort de création de services distincts pour les deux.
.NET intègre la prise en charge de la création d’API Web JSON à partir des services gRPC. Pour plus d’informations, consultez Transcodage JSON gRPC dans les applications ASP.NET Core gRPC.
Remarque
Le transcodage JSON gRPC nécessite .NET 7 ou version ultérieure.