Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 522|Svar: 0

[Källa] ASP.NET Core (31) om insamling av gRPC-metadata

[Kopiera länk]
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änsten
Nästa:Blockkedjekonsensusmekanism: PoW, PoS, DPoS
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com