This article is a mirror article of machine translation, please click here to jump to the original article.

View: 522|Reply: 0

[Source] ASP.NET Core (31) on gRPC Metadata acquisition

[Copy link]
Posted on 2025-8-17 17:42:11 | | | |
Requirements: When using the client to pass metadata, how should the ASP.NET Core server obtain it?

Metadata overview

Metadata is a bypass channel that allows the information associated with RPC to be passed between the client and the server.

gRPC metadata is key-value pair data sent with the initial or final gRPC request or response. It is used to provide additional information about the call, such as authentication credentials, tracking information, or custom headers.

gRPC metadata is implemented using HTTP/2 headers. The key is an ASCII string, and the value can be either an ASCII string or binary data. Keys are not case-sensitive and cannot begin with the grpc- prefix, which is reserved by gRPC itself.

gRPC metadata can be sent and received by both the client and the server. The header is sent before the initial request data is sent from the client to the server, and similarly, before the initial response data is sent from the server to the client. The tail is sent when the server turns off RPC.

gRPC metadata serves various purposes, such as:

Authentication: gRPC metadata can be used to send authentication credentials to the server. This can be used to implement different authentication schemes such as OAuth2 or JWT using standard HTTP Authorization headers.
Tracking: gRPC metadata can be used to send tracking information to the server. This can be used to track the progress of requests in a distributed system.
Custom headers: gRPC metadata can be used to send custom headers to or from a server to a client. This can be used to implement application-specific features such as load balancing, rate limiting, or providing detailed error information from the server to the client.
Internal use: gRPC uses HTTP/2 headers and tails, which will be integrated with the metadata specified by your application.

Test

Create a new middleware pipeline on the server side to obtain the request header, and the code is as follows:



Try making a request using postman as shown below:



You can see that the value of the metadata set using postman can be received normally on the server side.

Use the C# console to set up Metadata to send requests, the code is as follows:
As shown below:



Setting the value of metadata using C# code can also be received on the server side. If you use gRPC client factory to add globally, the code is as follows:

Reference:

The hyperlink login is visible.
The hyperlink login is visible.




Previous:Use Postman to test (debug) the gRPC service
Next:Blockchain consensus mechanism: PoW, PoS, DPoS
Disclaimer:
All software, programming materials or articles published by Code Farmer Network are only for learning and research purposes; The above content shall not be used for commercial or illegal purposes, otherwise, users shall bear all consequences. The information on this site comes from the Internet, and copyright disputes have nothing to do with this site. You must completely delete the above content from your computer within 24 hours of downloading. If you like the program, please support genuine software, purchase registration, and get better genuine services. If there is any infringement, please contact us by email.

Mail To:help@itsvse.com