|
|
Опубликовано 2025-8-17 17:42:11
|
|
|
|

Требования: При использовании клиента для передачи метаданных, как сервер ASP.NET Core должен их получать?
Обзор метаданных
Метаданные — это канал обхода, который позволяет передавать информацию, связанную с RPC, между клиентом и сервером.
Метаданные gRPC — это данные пары ключ-значение, отправляемые вместе с первоначальным или последним запросом или ответом на gRPC. Он используется для предоставления дополнительной информации о звонке, такой как учетные данные аутентификации, данные для отслеживания или пользовательские заголовки.
Метаданные gRPC реализуются с использованием заголовков HTTP/2. Ключ — это ASCII-строка, а значение может быть как ASCII-строкой, так и бинарными данными. Клавиши не чувствительны к регистру и не могут начинаться с префикса grpc-, который зарезервирован самим gRPC.
Метаданные gRPC могут передаваться и получать как клиентом, так и сервером. Заголовок отправляется до отправки первоначальных данных запроса от клиента на сервер, а также до отправки исходных ответных данных с сервера клиенту. Хвост отправляется, когда сервер отключает RPC.
Метаданные gRPC выполняют различные функции, такие как:
Аутентификация: метаданные gRPC могут использоваться для отправки учетных данных аутентификации на сервер. Это может использоваться для реализации различных схем аутентификации, таких как OAuth2 или JWT, с использованием стандартных заголовков HTTP-авторизации. Отслеживание: метаданные gRPC могут использоваться для отправки отслеживающей информации на сервер. Это можно использовать для отслеживания хода запросов в распределённой системе. Пользовательские заголовки: метаданные gRPC могут использоваться для отправки пользовательских заголовков на сервер или с него на клиента. Это может использоваться для реализации специфических для приложения функций, таких как балансировка нагрузки, ограничение скорости или предоставление подробной информации об ошибках от сервера к клиенту. Внутреннее использование: gRPC использует HTTP/2 заголовки и хвосты, которые интегрируются с метаданными, указанными вашим приложением.
Тест
Создайте новый промежуточный конвейер на серверной стороне для получения заголовка запроса, и код выглядит следующим образом:
Попробуйте сделать запрос через Postman, как показано ниже:
Вы можете увидеть, что значение метаданных с помощью Postman можно нормально получать на серверной стороне.
Используйте консоль C# для настройки метаданных для отправки запросов, код выглядит следующим образом:
Как показано ниже:
Установка значения метаданных с помощью кода на C# также может быть получена на серверной стороне. Если вы используете gRPC client factory для глобального добавления, код выглядит следующим образом:
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден. |
Предыдущий:Используйте Postman для тестирования (отладки) сервиса gRPCСледующий:Механизм консенсуса блокчейна: PoW, PoS, DPoS
|