Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 54622|Atsakyti: 0

[Šaltinis] .NET Core iškviečia gRPC HTTP (ne TLS apsaugotas) adreso klaidų sprendimus

[Kopijuoti nuorodą]
Publikuota: 2021-3-22 16:45:16 | | | |
gRPC yra didelio našumo nuotolinio procedūrų iškvietimo (RPC) sistema, kuri yra nepriklausoma nuo kalbos.

Pagrindiniai gRPC privalumai:

Moderni, didelio našumo, lengva RPC sistema.
Sutartyje pirmasis API kūrimas, kuris pagal numatytuosius nustatymus naudoja protokolo buferius, leidžiančius diegti nepriklausomai nuo kalbos.
Įrankiai keliomis kalbomis, skirti generuoti stipriai įvestus serverius ir klientus.
Palaiko kliento, serverio ir dvipusius srautinius skambučius.
Sumažinkite tinklo naudojimą naudodami "Protobuf" dvejetainį serializavimą.

Dėl šių privalumų gRPC tinka:

Lengvos mikropaslaugos, kuriose efektyvumas yra labai svarbus.
Poliglotų sistemos, kurioms sukurti reikia kelių kalbų.
Peer-to-peer realiojo laiko paslaugos, kurioms reikia apdoroti srautinio perdavimo užklausas ar atsakymus.

Peržiūra:
Praktinė kova: ASP.NET Core naudoja gRPC ryšį
https://www.itsvse.com/thread-8834-1-1.html

.net/c# "Google" protokolo buferiai Greita pradžia
https://www.itsvse.com/thread-3626-1-1.html

.net/c# "Google" protokolo buferių pamoka
https://www.itsvse.com/thread-3668-1-1.html

Naudojant "ASP.NET Core 3.1", įjungiama gRPC paslauga, o HTTP/2 galinis punktas sukonfigūruotas be TLS apsaugos, žr.:Hipersaito prisijungimas matomas.

Naudodamas .NET Core 3.1 konsolę, bandžiau paskambinti HTTP gRPC paslaugos adresu su šia klaida:


Neapdorota išimtis. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Klaida pradedant gRPC iškvietimą. HttpRequestException: siunčiant užklausą įvyko klaida. IOException: atsakymas baigėsi anksčiau laiko.", DebugException="System.Net.Http.HttpRequestException: siunčiant užklausą įvyko klaida.
---> System.IO.IOException: atsakas baigėsi per anksti.



Atsižvelgiant į jūsų programos naudojamą .NET versiją, yra keletas papildomų reikalavimų, kad būtų galima iškviesti nesaugią gRPC paslaugą:

.NET 5 arba naujesnei versijai reikalinga Grpc.Net.Client 2.32.0 arba naujesnė versija.
.NET Core 3.x reikalauja papildomos konfigūracijos. Programa turi nustatyti jungiklį System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport į true:


Kliento nustatymai yra tokie:

Tik .NET Core 3.x reikalingas jungiklis System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. .NET 5 nereikia jokios papildomos konfigūracijos, taip pat šis reikalavimas


Hipersaito prisijungimas matomas.





Ankstesnis:.NET/C# atspindys, emisija, išraiškos našumo testavimas
Kitą:Vėlyvi pranešimai apie naujokus
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com