Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 54622|Répondre: 0

[Source] .NET Core appelle des solutions d’erreur d’adresse gRPC HTTP (non protégées par TLS)

[Copié le lien]
Publié le 22-03-2021 à 16:45:16 | | | |
gRPC est un cadre d’appel de procédure à distance (RPC) haute performance qui est indépendant du langage.

Les principaux avantages du gRPC sont :

Cadre RPC moderne, haute performance et léger.
Développement d’API axé sur les contrats utilisant par défaut des tampons de protocole, permettant des implémentations indépendantes du langage.
Des outils disponibles en plusieurs langues pour générer des serveurs et clients fortement typés.
Prend en charge les appels client, serveur et en streaming bidirectionnel.
Réduire l’utilisation du réseau avec la sérialisation binaire Protobuf.

Ces avantages rendent la gRPC adaptée à :

Microservices légers où l’efficacité est cruciale.
Des systèmes polyglottes qui nécessitent plusieurs langages pour le développement.
Des services en temps réel pair-à-pair qui doivent gérer des requêtes ou réponses en streaming.

Révision:
Combat pratique : ASP.NET Core utilise la communication gRPC
https://www.itsvse.com/thread-8834-1-1.html

Démarrage rapide des tampons protocolaires .net/c#
https://www.itsvse.com/thread-3626-1-1.html

Tutoriel sur les tampons de protocole Google .net/c#
https://www.itsvse.com/thread-3668-1-1.html

Lors de l’utilisation ASP.NET Core 3.1, un service gRPC est activé, et le point de terminaison HTTP/2 est configuré sans protection TLS, voir :La connexion hyperlientérée est visible.

En utilisant la console .NET Core 3.1, j’ai essayé d’appeler l’adresse HTTP gRPC avec l’erreur suivante :


Exception non traitée. Grpc.Core.RpcException : Status(StatusCode="Indisponible », Detail="Erreur démarrant l’appel gRPC. HttpRequestException : Une erreur est apparue lors de l’envoi de la requête. IOException : La réponse s’est terminée prématurément. », DebugException="System.Net.Http.HttpHttpRequestException : Une erreur s’est produite lors de l’envoi de la requête.
---> System.IO.IOException : La réponse s’est arrêtée prématurément.



Selon la version de .NET utilisée par votre application, il y a quelques exigences supplémentaires pour appeler un service gRPC non sécurisé :

.NET 5 ou versions ultérieures nécessitent Grpc.Net.Client version 2.32.0 ou ultérieure.
.NET Core 3.x nécessite une configuration supplémentaire. L’application doit définir le commutateur System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport sur true :


Les paramètres du client sont les suivants :

Seul .NET Core 3.x nécessite le commutateur System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport (Support) sans chiffrer le commutateur. Aucune configuration supplémentaire n’est requise dans .NET 5, ni cette exigence


La connexion hyperlientérée est visible.





Précédent:Tests de performance de réflexion, émission et expression .NET/C#
Prochain:Un nouvel arrivant tardif rapporte
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com