|
|
Geplaatst op 2025-8-17 17:42:11
|
|
|
|

Vereisten: Wanneer de client metadata doorgeeft, hoe moet de ASP.NET Core-server deze dan verkrijgen?
Overzicht metadata
Metadata is een bypasskanaal waarmee de informatie die met RPC is gekoppeld kan worden doorgegeven tussen de client en de server.
gRPC-metadata zijn sleutelwaardepargegevens die worden verzonden met het initiële of laatste gRPC-verzoek of -antwoord. Het wordt gebruikt om aanvullende informatie over het gesprek te verstrekken, zoals authenticatiegegevens, trackinginformatie of aangepaste headers.
gRPC-metadata wordt geïmplementeerd met HTTP/2-headers. De sleutel is een ASCII-string, en de waarde kan zowel een ASCII-string als binaire data zijn. Sleutels zijn niet hoofdlettergevoelig en kunnen niet beginnen met het voorvoegsel grpc- dat door gRPC zelf wordt gereserveerd.
gRPC-metadata kan zowel door de client als de server worden verzonden en ontvangen. De header wordt verzonden voordat de initiële verzoekgegevens van de client naar de server worden gestuurd, en op vergelijkbare wijze voordat de initiële responsgegevens van de server naar de client worden gestuurd. De staart wordt verzonden wanneer de server RPC uitschakelt.
gRPC-metadata dient verschillende doeleinden, zoals:
Authenticatie: gRPC-metadata kan worden gebruikt om authenticatiegegevens naar de server te sturen. Dit kan worden gebruikt om verschillende authenticatieschema's te implementeren, zoals OAuth2 of JWT, met standaard HTTP-autorisatieheaders. Tracking: gRPC-metadata kan worden gebruikt om trackinginformatie naar de server te sturen. Dit kan worden gebruikt om de voortgang van verzoeken in een gedistribueerd systeem te volgen. Aangepaste headers: gRPC-metadata kan worden gebruikt om aangepaste headers naar of van een server naar een client te sturen. Dit kan worden gebruikt om applicatiespecifieke functies te implementeren zoals load balancing, snelheidsbeperking of het verstrekken van gedetailleerde foutinformatie van de server aan de client. Intern gebruik: gRPC gebruikt HTTP/2-headers en tails, die geïntegreerd zullen worden met de metadata die door uw applicatie is gespecificeerd.
Test
Maak een nieuwe middleware-pipeline aan de serverzijde om de requestheader te verkrijgen, en de code is als volgt:
Probeer een verzoek te doen met postbode zoals hieronder getoond:
Je kunt zien dat de waarde van de metadataset met Postman normaal ontvangen kan worden aan de serverzijde.
Gebruik de C#-console om metadata in te stellen voor het verzenden van verzoeken, de code is als volgt:
Zoals hieronder getoond:
Het instellen van de waarde van metadata met C#-code kan ook aan de serverzijde worden ontvangen. Als je gRPC client factory gebruikt om globaal toe te voegen, is de code als volgt:
Referentie:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar. |
Vorig:Gebruik Postman om de gRPC-service te testen (debuggen)Volgend:Blockchain-consensusmechanisme: PoW, PoS, DPoS
|