Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 54622|Ответ: 0

[Источник] .NET Core вызывает решения ошибок адреса gRPC HTTP (не защищённые TLS)

[Скопировать ссылку]
Опубликовано 22.03.2021 16:45:16 | | | |
gRPC — это высокопроизводительный фреймворк удалённых вызовов процедур (RPC), независимый от языка.

Основные преимущества gRPC включают:

Современный, высокопроизводительный, лёгкий фреймворк RPC.
Разработка API с приоритетом на контракт, которая по умолчанию использует буферы протоколов, что позволяет реализовать языковые независимые реализации.
Инструменты, доступные на нескольких языках, для генерации сильно типизированных серверов и клиентов.
Поддерживает клиентские, серверные и двусторонние потоковые звонки.
Сократить использование сети с бинарной сериализацией Protobuf.

Эти преимущества делают gRPC подходящим для:

Лёгкие микросервисы, где эффективность имеет решающее значение.
Полиглотные системы, которые требуют нескольких языков для разработки.
Peer-to-peer сервисы реального времени, которые должны обрабатывать потоковые запросы или ответы.

Обзор:
Практический бой: ASP.NET Core использует gRPC-коммуникацию
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Быстрый старт буферов Google Protocol
https://www.itsvse.com/thread-3626-1-1.html

.net/c# Инструкция по буферам протокола Google
https://www.itsvse.com/thread-3668-1-1.html

При использовании ASP.NET Core 3.1 активируется сервис gRPC, а конечная точка HTTP/2 настроена без защиты TLS, см.:Вход по гиперссылке виден.

Используя консоль .NET Core 3.1, я попытался вызвать сервисный адрес HTTP gRPC с такой ошибкой:


Необработанное исключение. Grpc.Core.RpcException: Status(StatusCode="Недоступно", Detail="Ошибка запуска вызова gRPC. HttpRequestException: При отправке запроса возникла ошибка. IOException: Ответ закончился преждевременно.", DebugException="System.Net.Http.HttpRequestException: При отправке запроса возникла ошибка.
---> System.IO.IOException: Ответ закончился преждевременно.



В зависимости от версии .NET, которую использует ваше приложение, существуют дополнительные требования для вызова незащищённого сервиса gRPC:

.NET 5 или более поздние версии требуют Grpc.Net.Client версии 2.32.0 или выше.
.NET Core 3.x требует дополнительной настройки. Приложение должно установить переключатель System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport в true:


Настройки клиента следующие:

Только для .NET Core 3.x требуется коммутатор System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. В .NET 5 не требуется дополнительной настройки, и это не требуется


Вход по гиперссылке виден.





Предыдущий:.NET/C# Тестирование производительности отражения, излучения, выражения
Следующий:Поздние новостные сообщения
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com