Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 54622|Antwort: 0

[Quelle] .NET Core ruft gRPC HTTP (non-TLS protected) Adressfehlerlösungen auf

[Link kopieren]
Veröffentlicht am 22.3.2021, 16:45:16 | | | |
gRPC ist ein Hochleistungs-Remote Procedure Call (RPC)-Framework, das sprachunabhängig ist.

Die Hauptvorteile von gRPC sind:

Modernes, leistungsstarkes, leichtes RPC-Framework.
Contract-First-API-Entwicklung, die standardmäßig Protokollpuffer verwendet und sprachunabhängige Implementierungen ermöglicht.
Werkzeuge verfügbar in mehreren Sprachen, um stark typisierte Server und Clients zu generieren.
Unterstützt Client-, Server- und zweiseitige Streaming-Aufrufe.
Reduziere die Nutzung des Netzwerks mit Protobuf binärer Serialisierung.

Diese Vorteile machen gRPC geeignet für:

Leichte Microservices, bei denen Effizienz entscheidend ist.
Polyglotte Systeme, die mehrere Sprachen für die Entwicklung erfordern.
Peer-to-Peer-Echtzeitdienste, die Streaming-Anfragen oder -antworten bearbeiten müssen.

Rezension:
Praktischer Kampf: ASP.NET Core verwendet gRPC-Kommunikation
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Google Protokollpuffer 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

Bei Verwendung von ASP.NET Core 3.1 wird ein gRPC-Dienst aktiviert, und der HTTP/2-Endpunkt wird ohne TLS-Schutz konfiguriert, siehe:Der Hyperlink-Login ist sichtbar.

Mit der .NET Core 3.1-Konsole habe ich versucht, die HTTP-gRPC-Serviceadresse mit folgendem Fehler aufzurufen:


Unbearbeitete Ausnahme. Grpc.Core.RpcException: Status(StatusCode="Unverfügbar", Detail="Fehler startet gRPC-Aufruf. HttpRequestException: Ein Fehler trat beim Senden der Anfrage auf. IOException: Die Antwort endete vorzeitig.", DebugException="System.Net.Http.HttpRequestException: Beim Absenden der Anfrage trat ein Fehler auf.
---> System.IO.IOException: Die Antwort endete vorzeitig.



Je nach der .NET-Version, die Ihre App verwendet, gibt es einige zusätzliche Voraussetzungen, um einen unsicheren gRPC-Dienst aufzurufen:

.NET 5 oder höher benötigt Grpc.Net.Client Version 2.32.0 oder neuer.
.NET Core 3.x erfordert zusätzliche Konfigurationen. Die App muss den System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-Switch auf true setzen:


Die Client-Einstellungen sind wie folgt:

Nur .NET Core 3.x benötigt den System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-Switch. In .NET 5 ist keine zusätzliche Konfiguration erforderlich, ebenso wenig ist diese Voraussetzung


Der Hyperlink-Login ist sichtbar.





Vorhergehend:.NET/C# Reflexions-, Emit- und Ausdrucks-Leistungstests
Nächster:Späte Neuankömmlinge berichten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com