|
|
Veröffentlicht am 17.8.2025, 17:42:11
|
|
|
|

Anforderungen: Wie sollte der ASP.NET Core-Server Metadaten verwenden, wenn der Client Metadaten übermittelt?
Überblick über Metadaten
Metadaten sind ein Bypass-Kanal, der es ermöglicht, die mit RPC verbundenen Informationen zwischen Client und Server weiterzuleiten.
gRPC-Metadaten sind Schlüssel-Wert-Paare-Daten, die mit der initialen oder finalen gRPC-Anfrage oder -Antwort gesendet werden. Es wird verwendet, um zusätzliche Informationen über den Anruf bereitzustellen, wie Authentifizierungsdaten, Tracking-Informationen oder benutzerdefinierte Header.
gRPC-Metadaten werden mit HTTP/2-Headern implementiert. Der Schlüssel ist eine ASCII-Zeichenkette, und der Wert kann entweder eine ASCII-Zeichenkette oder binäre Daten sein. Schlüssel sind nicht groß- und kleinschreibungssensitiv und können nicht mit dem Präfix grpc- beginnen, das von gRPC selbst reserviert ist.
gRPC-Metadaten können sowohl vom Client als auch vom Server gesendet und empfangen werden. Der Header wird gesendet, bevor die ursprünglichen Anfragedaten vom Client an den Server gesendet werden, und ebenso bevor die ersten Antwortdaten vom Server zum Client gesendet werden. Der Schwanz wird gesendet, wenn der Server RPC ausschaltet.
gRPC-Metadaten erfüllen verschiedene Zwecke, wie zum Beispiel:
Authentifizierung: gRPC-Metadaten können verwendet werden, um Authentifizierungsdaten an den Server zu senden. Dies kann verwendet werden, um verschiedene Authentifizierungsschemata wie OAuth2 oder JWT mit Standard-HTTP-Autorisierungsheadern zu implementieren. Tracking: gRPC-Metadaten können verwendet werden, um Tracking-Informationen an den Server zu senden. Dies kann verwendet werden, um den Fortschritt von Anfragen in einem verteilten System zu verfolgen. Benutzerdefinierte Header: gRPC-Metadaten können verwendet werden, um benutzerdefinierte Header an oder von einem Server an einen Client zu senden. Dies kann verwendet werden, um anwendungsspezifische Funktionen wie Lastverteilung, Ratenbegrenzung oder die Bereitstellung detaillierter Fehlerinformationen vom Server an den Client zu implementieren. Interne Nutzung: gRPC verwendet HTTP/2-Header und -Tails, die in die von Ihrer Anwendung angegebenen Metadaten integriert werden.
Test
Erstellen Sie eine neue Middleware-Pipeline auf der Serverseite, um den Request-Header zu erhalten, und der Code ist wie folgt:
Versuche, eine Anfrage über Postboten wie unten gezeigt zu stellen:
Man sieht, dass der Wert des Metadatensatzes mit Postman normal auf Serverseite empfangen werden kann.
Verwenden Sie die C#-Konsole, um Metadaten für das Senden von Anfragen einzurichten, der Code lautet wie folgt:
Wie unten gezeigt:
Das Festlegen des Metadatenwerts mit C#-Code kann auch auf Serverseite empfangen werden. Wenn du gRPC Client factory zum globalen Hinzufügen verwendest, lautet der Code wie folgt:
Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar. |
Vorhergehend:Verwenden Sie Postman, um den gRPC-Dienst zu testen (zu debuggen)Nächster:Blockchain-Konsensmechanismus: PoW, PoS, DPoS
|