Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 54622|Odpoveď: 0

[Zdroj] .NET Core volá gRPC HTTP (non-TLS protected) riešenia adries

[Kopírovať odkaz]
Zverejnené 2021-3-22 16:45:16 | | | |
gRPC je vysokovýkonný rámec pre vzdialené volanie procedúr (RPC), ktorý je nezávislý od jazyka.

Hlavné výhody gRPC sú:

Moderný, vysoko výkonný, ľahký RPC rámec.
Vývoj API založený na zmluve, ktorý štandardne používa protokolové buffery, čo umožňuje jazykovo nezávislé implementácie.
Nástroje dostupné vo viacerých jazykoch na generovanie silne typovaných serverov a klientov.
Podporuje klientske, serverové a obojsmerné streamovacie hovory.
Obmedziť používanie siete pomocou binárnej serializácie Protobuf.

Tieto výhody robia gRPC vhodným pre:

Ľahké mikroslužby, kde je efektivita kľúčová.
Polyglotné systémy, ktoré vyžadujú viacero jazykov na vývoj.
Peer-to-peer služby v reálnom čase, ktoré musia spracovávať streamované požiadavky alebo odpovede.

Revízia:
Praktický boj: ASP.NET Core používa gRPC komunikáciu
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Google Protocol Buffers – rýchly štart
https://www.itsvse.com/thread-3626-1-1.html

.net/c# Návod na Google Protocol Buffers
https://www.itsvse.com/thread-3668-1-1.html

Pri používaní ASP.NET Core 3.1 je povolená gRPC služba a HTTP/2 endpoint je nakonfigurovaný bez TLS ochrany, pozri:Prihlásenie na hypertextový odkaz je viditeľné.

Pomocou .NET Core 3.1 konzoly som sa pokúsil zavolať HTTP gRPC service address s nasledujúcou chybou:


Neriešená výnimka. Grpc.Core.RpcException: Status(StatusCode="Nedostupné", Detail="Chyba pri spustení gRPC volania. HttpRequestException: Pri odosielaní požiadavky došlo k chybe. IOException: Odpoveď skončila predčasne.", DebugException="System.Net.Http.HttpRequestException: Pri odosielaní požiadavky došlo k chybe.
---> System.IO.IOException: Odpoveď skončila predčasne.



V závislosti od verzie .NET, ktorú vaša aplikácia používa, existujú ďalšie požiadavky na zavolanie nezabezpečenej gRPC služby:

.NET 5 alebo novší vyžaduje verziu Grpc.Net.Client 2.32.0 alebo novšiu.
.NET Core 3.x vyžaduje dodatočnú konfiguráciu. Aplikácia musí nastaviť prepínač System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport na true:


Nastavenia klienta sú nasledovné:

Iba .NET Core 3.x vyžaduje prepínač System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. V .NET 5 nie je potrebná žiadna ďalšia konfigurácia, ani táto požiadavka nie je


Prihlásenie na hypertextový odkaz je viditeľné.





Predchádzajúci:.NET/C# Testovanie výkonu reflexie, emitovania, výrazu
Budúci:Neskoré správy nováčikov
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com