Коляска .NET 5 на основе gRPCC#

Место общения программистов C#
Ответить
Anonymous
 Коляска .NET 5 на основе gRPC

Сообщение Anonymous »

Я просто пытаюсь создать дополнительный модуль на основе gRPC для своих сервисов, чтобы облегчить взаимодействие и решение сквозных проблем и т. д. Я начал с простых клиентских и серверных сервисов gRPC, которые используют одни и те же прото-файлы. После этого я добавил службу посередине для получения запроса gRPC клиента и выполнения некоторого преобразования сообщений, обнаружения доступных служб и т. д.
В середине службы, которая играет роль клиентская версия (в будущем будет добавлена ​​и серверная версия), я использовал пакет GRPC.ASPNetCore с этой опцией:

Код: Выделить всё

option.IgnoreUnknownServices = true;
Итак, я могу обрабатывать запросы в своем специальном промежуточном программном обеспечении, и мои проблемы заключаются в следующем:
Запрос десериализации< /strong>
Я использую protobuf-net и его API-интерфейсы отражения для генерации кода C# для моих прототипов во время выполнения и компиляции их с помощью Roslyn, чтобы иметь эквивалентный тип CLR для моих прототипов. . После этого я использую сериализатор protobuf-net для десериализации данных, которые я прочитал из потока запросов моего специального промежуточного программного обеспечения.
  • Могу ли я читать сжатые сообщения ?
  • Как я могу читать потоковую передачу сервера, потоковую передачу клиента или двунаправленную потоковую передачу?
  • Правильен ли этот подход или существует ли для этого какая-либо встроенная технология сценарий?

Пересылка запроса на другую службу

После обнаружения целевого узла (в случае, если этот узел принимает запрос gRPC) я должен переслать входящий Http запрос к указанному узлу. Есть ли быстрый способ перенаправить такой запрос в другую службу?
Другой альтернативой является создание клиента gRPC во время выполнения и вызов его с десериализованным значением из потока HTTP-запросов. но мне нужно придумать, как это сделать.
В моей голове гораздо больше вопросов и неясных моментов. Буду признателен, если вы ответите на мои вопросы или предложите какие-либо ссылки.
Мой проект здесь.

Подробнее здесь: https://stackoverflow.com/questions/662 ... ecar-net-5
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»