|
|
Postado em 17-08-2025 às 17:42:11
|
|
|
|

Requisitos: Ao usar o cliente para passar metadados, como o servidor ASP.NET Core deve obtê-los?
Visão geral dos metadados
Metadados são um canal de desvio que permite que as informações associadas ao RPC sejam passadas entre o cliente e o servidor.
Metadados gRPC são dados de pares-chave-valor enviados com a solicitação ou resposta inicial ou final gRPC. Ele é usado para fornecer informações adicionais sobre a chamada, como credenciais de autenticação, informações de rastreamento ou cabeçalhos personalizados.
os metadados gRPC são implementados usando cabeçalhos HTTP/2. A chave é uma string ASCII, e o valor pode ser uma string ASCII ou dados binários. As chaves não são sensíveis a maiúsculas minúsculas e não podem começar com o prefixo grpc-, que é reservado pelo próprio gRPC.
metadados gRPC podem ser enviados e recebidos tanto pelo cliente quanto pelo servidor. O cabeçalho é enviado antes dos dados iniciais da solicitação serem enviados do cliente para o servidor e, de forma semelhante, antes que os dados de resposta inicial sejam enviados do servidor para o cliente. A cauda é enviada quando o servidor desliga o RPC.
Os metadados gRPC servem a vários propósitos, tais como:
Autenticação: os metadados gRPC podem ser usados para enviar credenciais de autenticação ao servidor. Isso pode ser usado para implementar diferentes esquemas de autenticação, como OAuth2 ou JWT, usando cabeçalhos padrão de Autorização HTTP. Rastreamento: metadados gRPC podem ser usados para enviar informações de rastreamento para o servidor. Isso pode ser usado para acompanhar o progresso das solicitações em um sistema distribuído. Cabeçalhos personalizados: metadados gRPC podem ser usados para enviar cabeçalhos personalizados para ou de um servidor para um cliente. Isso pode ser usado para implementar recursos específicos da aplicação, como balanceamento de carga, limitação de taxa ou fornecimento de informações detalhadas de erro do servidor para o cliente. Uso interno: o gRPC usa cabeçalhos e caudas HTTP/2, que serão integrados aos metadados especificados pela sua aplicação.
Teste
Crie um novo pipeline de middleware no lado do servidor para obter o cabeçalho da requisição, e o código é o seguinte:
Tente fazer um pedido usando o carteiro, como mostrado abaixo:
Você pode ver que o valor do conjunto de metadados usando o Postman pode ser recebido normalmente no lado do servidor.
Use o console C# para configurar metadados para enviar requisições, o código é o seguinte:
Como mostrado abaixo:
Definir o valor dos metadados usando código C# também pode ser recebido no lado do servidor. Se você usar a fábrica cliente gRPC para adicionar globalmente, o código é o seguinte:
Referência:
O login do hiperlink está visível.
O login do hiperlink está visível. |
Anterior:Use o Postman para testar (depurar) o serviço gRPCPróximo:Mecanismo de consenso em blockchain: PoW, PoS, DPoS
|