Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 54622|Odgovoriti: 0

[Vir] .NET Core kliče gRPC HTTP (ne-TLS zaščiten) rešitve napak pri naslovih

[Kopiraj povezavo]
Objavljeno 22. 3. 2021 ob 16:45:16 | | | |
gRPC je visokozmogljiv okvir za oddaljene klice postopkov (RPC), ki je jezikovno neodvisen.

Glavne prednosti gRPC so:

Sodoben, visoko zmogljiv in lahek RPC okvir.
Razvoj API-jev, ki temeljijo na pogodbi, ki privzeto uporablja protokolne medpomnilnike, kar omogoča jezikovno neodvisne implementacije.
Orodja, ki so na voljo v več jezikih za generiranje močno tipiziranih strežnikov in odjemalcev.
Podpira klice odjemalca, strežnika in dvosmernega pretakanja.
Zmanjšajte uporabo omrežja s Protobuf binarno serializacijo.

Te prednosti naredijo gRPC primeren za:

Lahki mikroservisi, kjer je učinkovitost ključnega pomena.
Poliglotni sistemi, ki za razvoj zahtevajo več jezikov.
Peer-to-peer storitve v realnem času, ki morajo obravnavati pretočne zahteve ali odgovore.

Pregled:
Praktični boj: ASP.NET Core uporablja gRPC komunikacijo
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Google protokolni medpomnilniki Hitri začetek
https://www.itsvse.com/thread-3626-1-1.html

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

Pri uporabi ASP.NET Core 3.1 je omogočena gRPC storitev, HTTP/2 končna točka pa je konfigurirana brez TLS zaščite, glej:Prijava do hiperpovezave je vidna.

Z uporabo .NET Core 3.1 konzole sem poskušal poklicati HTTP gRPC naslov storitve z naslednjo napako:


Neobdelana izjema. Grpc.Core.RpcException: Status(StatusCode="Nedosegljiv", Detail="Napaka pri začetku gRPC klica. HttpRequestException: Med pošiljanjem zahteve je prišlo do napake. IOException: Odgovor se je končal prezgodaj.", DebugException="System.Net.Http.HttpRequestException: Med pošiljanjem zahteve je prišlo do napake.
---> System.IO.IOException: Odgovor se je končal prezgodaj.



Glede na različico .NET, ki jo uporablja vaša aplikacija, obstajajo dodatne zahteve za klic nevarne gRPC storitve:

.NET 5 ali novejša zahteva različico Grpc.Net.Client 2.32.0 ali novejšo.
.NET Core 3.x zahteva dodatno konfiguracijo. Aplikacija mora nastaviti stikalo System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport na true:


Nastavitve odjemalca so naslednje:

Samo .NET Core 3.x zahteva stikalo System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. V .NET 5 ni potrebna dodatna konfiguracija, prav tako ta zahteva ni


Prijava do hiperpovezave je vidna.





Prejšnji:.NET/C# testiranje zmogljivosti refleksije, oddajanja in izražanja
Naslednji:Pozna poročila novincev
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com