Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 54622|Respuesta: 0

[Fuente] .NET Core llama a soluciones de error de dirección gRPC HTTP (no protegidas por TLS)

[Copiar enlace]
Publicado el 22-3-2021 16:45:16 | | | |
gRPC es un framework de llamadas a procedimientos remotos (RPC) de alto rendimiento que es independiente del lenguaje.

Los principales beneficios de gRPC son:

Marco RPC moderno, de alto rendimiento y ligero.
Desarrollo de API con enfoque contractual que utiliza búferes de protocolo por defecto, permitiendo implementaciones independientes del lenguaje.
Herramientas disponibles en múltiples idiomas para generar servidores y clientes con tipes fuertes.
Soporta llamadas de cliente, servidor y streaming bidireccional.
Reducir el uso de la red con serialización binaria Protobuf.

Estos beneficios hacen que gRPC sea adecuado para:

Microservicios ligeros donde la eficiencia es crítica.
Sistemas poliglotas que requieren varios lenguajes para su desarrollo.
Servicios en tiempo real peer-to-peer que necesitan gestionar solicitudes o respuestas en streaming.

Revisión:
Combate práctico: ASP.NET Core utiliza comunicación gRPC
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Búferes de protocolo Google Inicio Rápido
https://www.itsvse.com/thread-3626-1-1.html

Tutorial de búferes de protocolo de .net/c#
https://www.itsvse.com/thread-3668-1-1.html

Al usar ASP.NET Core 3.1, se habilita un servicio gRPC y el endpoint HTTP/2 se configura sin protección TLS, véase:El inicio de sesión del hipervínculo es visible.

Usando la consola .NET Core 3.1, intenté llamar a la dirección HTTP gRPC con el siguiente error:


Excepción no gestionada. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error iniciando llamada gRPC. HttpRequestException: Ocurrió un error al enviar la solicitud. IOException: La respuesta terminó prematuramente.", DebugException="System.Net.Http.HttpRequestException: Se produjo un error al enviar la solicitud.
---> System.IO.IOException: La respuesta terminó prematuramente.



Dependiendo de la versión de .NET que use tu app, hay algunos requisitos adicionales para llamar a un servicio gRPC inseguro:

.NET 5 o posterior requiere Grpc.Net.Client versión 2.32.0 o posterior.
.NET Core 3.x requiere una configuración adicional. La aplicación debe configurar el interruptor System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport en true:


La configuración del cliente es la siguiente:

Solo .NET Core 3.x requiere el interruptor System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport (UnencryptedSupport switch). No se requiere ninguna configuración adicional en .NET 5, ni este requisito


El inicio de sesión del hipervínculo es visible.





Anterior:Pruebas de rendimiento de la reflexión, emisión y expresión .NET/C#
Próximo:Informes de recién llegado tardío
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com