Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 54622|Svar: 0

[Källa] .NET Core anropar gRPC HTTP (icke-TLS-skyddade) adressfellösningar

[Kopiera länk]
Publicerad den 2021-3-22 16:45:16 | | | |
gRPC är ett högpresterande ramverk för fjärrproceduranrop (RPC) som är språkoberogt.

De främsta fördelarna med gRPC är:

Modernt, högpresterande, lättviktigt RPC-ramverk.
Kontraktsförst-API-utveckling som använder protokollbuffertar som standard, vilket möjliggör språkoberoende implementationer.
Verktyg tillgängliga i flera språk för att generera starkt typade servrar och klienter.
Stöder klient-, server- och tvåvägs-streamingsamtal.
Minska användningen av nätverket med Protobuf binär serialisering.

Dessa fördelar gör gRPC lämpligt för:

Lättviktiga mikrotjänster där effektivitet är avgörande.
Polyglottsystem som kräver flera språk för utveckling.
Peer-to-peer realtidstjänster som behöver hantera strömmande förfrågningar eller svar.

Recension:
Praktisk strid: ASP.NET Core använder gRPC-kommunikation
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Google Protocol Buffers Snabbstart
https://www.itsvse.com/thread-3626-1-1.html

.net/c# Google Protocol Buffers-handledning
https://www.itsvse.com/thread-3668-1-1.html

När man använder ASP.NET Core 3.1 aktiveras en gRPC-tjänst och HTTP/2-ändpunkten konfigureras utan TLS-skydd, se:Inloggningen med hyperlänken är synlig.

Med hjälp av .NET Core 3.1-konsolen försökte jag anropa HTTP gRPC-tjänsteadressen med följande fel:


Undantag för ohanterad användning. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Fel startar gRPC-anrop. HttpRequestException: Ett fel uppstod när förfrågan skickades. IOException: Svaret avslutades i förtid.", DebugException="System.Net.Http.HttpRequestException: Ett fel uppstod vid sändning av förfrågan.
---> System.IO.IOException: Svaret avslutades i förtid.



Beroende på vilken version av .NET din app använder finns det några ytterligare krav för att anropa en osäker gRPC-tjänst:

.NET 5 eller senare kräver Grpc.Net.Client version 2.32.0 eller senare.
.NET Core 3.x kräver ytterligare konfiguration. Appen måste ställa in System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-switchen till true:


Klientinställningarna är följande:

Endast .NET Core 3.x kräver System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-switchen. Ingen ytterligare konfiguration krävs i .NET 5, och detta krav är inte heller


Inloggningen med hyperlänken är synlig.





Föregående:.NET/C# Reflektion, Emitt, Uttrycksprestandatestning
Nästa:Sen nykomling rapporterar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com