Унарный вызов¶
Клиент инициирует удалённый вызов процедуры с помощью указания имени метода, метаданных и сообщения запроса. Сервер возвращает ответ, содержащий gRPC-статус, сообщение ответа и метаданные.
Диаграмма¶
sequenceDiagram
participant C as gRPC Client
participant S as gRPC Server
C->>S: Имя метода + сообщение запроса (request message) + метаданные
S->>C: Сообщение ответа (response message) + gRPC-статус + метаданные
Protobuf¶
Реализация на сервере¶
public override async Task<OutputMessage> UnaryFunction(InputMessage request, ServerCallContext context)
{
var result = new OutputMessage(); // реализация получения ответа
return result;
}
Использование на клиенте¶
Простейший асинхронный вариант (возможен и синхронный вариант UnaryFunction())
Другой вариант, если нужно прочитать метаданные:
var сallObj = client.UnaryFunctionAsync(new InputMessage {/* заполняем поля*/});
OutputMessage result = await сallObj.ResponseAsync;
//после этого доступны метаданные
Ссылки¶
Диаграммы всех видов взаимодействия
примеры Protobuf
Примеры реализаций на сервере
Пример клиента
Последнее обновление :
23 апреля 2023 г.
Дата создания : 23 апреля 2023 г.
Дата создания : 23 апреля 2023 г.