|
|
Publicerad den 2025-8-17 17:42:11
|
|
|
|

Krav: När man använder klienten för att skicka metadata, hur ska ASP.NET Core-servern få tag på den?
Översikt av metadata
Metadata är en bypass-kanal som tillåter information kopplad till RPC att skickas mellan klienten och servern.
gRPC-metadata är nyckelvärdespardata som skickas med den initiala eller slutgiltiga gRPC-förfrågan eller svaret. Den används för att tillhandahålla ytterligare information om samtalet, såsom autentiseringsuppgifter, spårningsinformation eller anpassade headers.
gRPC-metadata implementeras med HTTP/2-headers. Nyckeln är en ASCII-sträng, och värdet kan vara antingen en ASCII-sträng eller binär data. Nycklar är inte kasuskänsliga och kan inte börja med grpc- prefixet, vilket reserveras av gRPC själv.
gRPC-metadata kan skickas och tas emot av både klienten och servern. Headern skickas innan den initiala förfrågningsdatan skickas från klienten till servern, och på liknande sätt innan den initiala svarsdatan skickas från servern till klienten. Svansen skickas när servern stänger av RPC.
gRPC-metadata tjänar olika syften, såsom:
Autentisering: gRPC-metadata kan användas för att skicka autentiseringsuppgifter till servern. Detta kan användas för att implementera olika autentiseringsscheman såsom OAuth2 eller JWT med hjälp av standard HTTP-auktorisationshuvuden. Spårning: gRPC-metadata kan användas för att skicka spårningsinformation till servern. Detta kan användas för att följa förfrågningars framsteg i ett distribuerat system. Anpassade headers: gRPC-metadata kan användas för att skicka egna headers till eller från en server till en klient. Detta kan användas för att implementera applikationsspecifika funktioner såsom lastbalansering, hastighetsbegränsning eller att tillhandahålla detaljerad felinformation från servern till klienten. Intern användning: gRPC använder HTTP/2-headers och tails, som kommer att integreras med metadata som anges av din applikation.
Test
Skapa en ny middleware-pipeline på serversidan för att hämta begäransökningshuvudet, och koden är följande:
Försök göra en beställning med brevbärare som visas nedan:
Du kan se att värdet av metadatasetet med postman kan tas emot normalt på serversidan.
Använd C#-konsolen för att ställa in metadata för att skicka förfrågningar, koden är följande:
Som visas nedan:
Att sätta värdet på metadata med C#-kod kan också tas emot på serversidan. Om du använder gRPC client factory för att lägga till globalt är koden följande:
Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig. |
Föregående:Använd Postman för att testa (felsöka) gRPC-tjänstenNästa:Blockkedjekonsensusmekanism: PoW, PoS, DPoS
|