Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 54622|Antwoord: 0

[Bron] .NET Core-aanroepen gRPC HTTP (niet-TLS protected) adresfoutoplossingen

[Link kopiëren]
Geplaatst op 22-3-2021 16:45:16 | | | |
gRPC is een high-performance remote procedure call (RPC) framework dat taalonafhankelijk is.

De belangrijkste voordelen van gRPC zijn:

Modern, hoogpresterend, lichtgewicht RPC-framework.
Contract-first API-ontwikkeling die standaard protocolbuffers gebruikt, waardoor taal-agnostische implementaties mogelijk zijn.
Hulpmiddelen beschikbaar in meerdere talen om sterk getypeerde servers en clients te genereren.
Ondersteunt client-, server- en tweerichtingsgesprekken.
Verminder het gebruik van het netwerk met Protobuf binaire serialisatie.

Deze voordelen maken gRPC geschikt voor:

Lichtgewicht microservices waarbij efficiëntie cruciaal is.
Polyglot-systemen die meerdere talen vereisen voor ontwikkeling.
Peer-to-peer realtime diensten die streamingverzoeken of -antwoorden moeten afhandelen.

Recensie:
Praktische gevechten: ASP.NET Core gebruikt gRPC-communicatie
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 tutorial
https://www.itsvse.com/thread-3668-1-1.html

Bij gebruik van ASP.NET Core 3.1 is een gRPC-service ingeschakeld en wordt het HTTP/2-eindpunt geconfigureerd zonder TLS-bescherming, zie:De hyperlink-login is zichtbaar.

Met behulp van de .NET Core 3.1-console probeerde ik het HTTP gRPC-serviceadres aan te roepen met de volgende foutmelding:


Onbehandelde uitzondering. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Fout start gRPC-aanroep. HttpRequestException: Er trad een fout op tijdens het verzenden van het verzoek. IOException: Het antwoord eindigde voortijdig.", DebugException="System.Net.Http.HttpRequestException: Er trad een fout op tijdens het verzenden van het verzoek.
---> System.IO.IOException: De reactie eindigde voortijdig.



Afhankelijk van de versie van .NET die je app gebruikt, zijn er enkele extra vereisten om een onveilige gRPC-dienst aan te roepen:

.NET 5 of hoger vereist Grpc.Net.Client versie 2.32.0 of later.
.NET Core 3.x vereist extra configuratie. De app moet de schakelaar System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport op true zetten:


De clientinstellingen zijn als volgt:

Alleen .NET Core 3.x vereist de System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-switch. In .NET 5 is geen extra configuratie vereist, noch is deze vereiste vereist


De hyperlink-login is zichtbaar.





Vorig:.NET/C# Reflectie-, Emit- en Expressieprestatietests
Volgend:Late nieuwkomers melden
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com