#grpc #grpc-c#
#grpc #grpc-c#
Вопрос:
У меня большой опыт создания пользовательских транспортных каналов для WCF. Теперь мы оцениваем gRPC. На первый вопрос я пока не могу найти ответа. Возможно ли создать пользовательский транспортный канал для gRPC? Есть ли документация или, лучше, пример, как это сделать? Мне нужно создать очень специфический пользовательский канал для межпроцессного взаимодействия.
Комментарии:
1. Короче говоря, ответ отрицательный. в Grpc.Core собственный уровень фактически поддерживает добавление пользовательских транспортов, но для этого требуется много работы и требуется экспертное знание внутренних компонентов ядра gRPC C (и вам нужно будет перекомпилировать собственный компонент с нуля), поэтому я бы не рекомендовал идти по этому пути. В grpc-dotnet это в настоящее время также невозможно (вам нужно использовать транспорт http2 по умолчанию).
2. Будет ли полезна поддержка UDS?
3. И это означает доменный сокет Unix? Нет. Весь вопрос возник из-за потенциальных планов переноса проекта .NET Framework на .NET 5.0, который является частью пакета пакетов UWP, и транспортный протокол, о котором я говорю, очень специфичен. Это UWP — сервис связи, и WCF использовался в качестве уровня абстракции вместе с реализацией пользовательского канала. Теперь вопрос в том, что делать, если WCF исчез. По-видимому, в нашем случае ответ заключается в том, чтобы подождать, пока он не вернется, или есть что-то еще, что будет работать для нашего случая.