Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 Protocol Buffers
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="Unavailable", 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