Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 54622|Svare: 0

[Kilde] .NET Core kaller gRPC HTTP (ikke-TLS beskyttet) adressefeilløsninger

[Kopier lenke]
Publisert 22.03.2021 16:45:16 | | | |
gRPC er et høyytelses rammeverk for fjernprosedyrekall (RPC) som er språkuavhengig.

De viktigste fordelene med gRPC er:

Moderne, høyytelses, lett RPC-rammeverk.
Kontrakt-først API-utvikling som bruker protokollbuffere som standard, noe som tillater språkuavhengige implementeringer.
Verktøy tilgjengelig i flere språk for å generere sterkt typede servere og klienter.
Støtter klient-, server- og toveis strømmesamtaler.
Reduser bruken av nettverket med Protobuf binær serialisering.

Disse fordelene gjør gRPC egnet for:

Lette mikrotjenester hvor effektivitet er kritisk.
Polyglottsystemer som krever flere språk for utvikling.
Peer-to-peer sanntidstjenester som må håndtere strømmeforespørsler eller svar.

Anmeldelse:
Praktisk kamp: ASP.NET Core bruker gRPC-kommunikasjon
https://www.itsvse.com/thread-8834-1-1.html

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

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

Når man bruker ASP.NET Core 3.1, aktiveres en gRPC-tjeneste, og HTTP/2-endepunktet konfigureres uten TLS-beskyttelse, se:Innloggingen med hyperkoblingen er synlig.

Ved å bruke .NET Core 3.1-konsollen prøvde jeg å kalle HTTP gRPC-tjenesteadressen med følgende feil:


Unntak for ubehandlet. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Feil starter gRPC-kall. HttpRequestException: En feil oppsto under sending av forespørselen. IOException: Svaret ble avsluttet for tidlig.", DebugException="System.Net.Http.HttpRequestException: En feil oppsto under sending av forespørselen.
---> System.IOE.IOException: Svaret ble avsluttet for tidlig.



Avhengig av hvilken versjon av .NET appen din bruker, er det noen tilleggskrav for å kalle en usikker gRPC-tjeneste:

.NET 5 eller nyere krever Grpc.Net.Client versjon 2.32.0 eller nyere.
.NET Core 3.x krever ekstra konfigurasjon. Appen må sette System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-bryteren til true:


Klientinnstillingene er som følger:

Kun .NET Core 3.x krever System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-svitsjen. Ingen ekstra konfigurasjon kreves i .NET 5, og dette kravet er heller ikke


Innloggingen med hyperkoblingen er synlig.





Foregående:.NET/C# Refleksjon, Emitt, Uttrykksytelsestesting
Neste:Sene nykommere rapporterer
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com