Uso de gRPC en aplicaciones de explorador
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulta la versión .NET 8 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulta la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulta la versión .NET 8 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulta la versión .NET 8 de este artículo.
No es posible llamar directamente a un servicio gRPC desde un explorador. gRPC usa características de HTTP/2 y ningún explorador proporciona el nivel de control requerido a través de solicitudes web para admitir un cliente de gRPC.
gRPC en ASP.NET Core ofrece dos soluciones compatibles con el explorador, gRPC-Web y transcodificación JSON de gRPC.
gRPC-Web
gRPC-Web permite a las aplicaciones de explorador llamar a servicios gRPC con el cliente gRPC-Web y Protobuf.
- Similar a gRPC normal, pero tiene un protocolo de conexión ligeramente diferente, lo que hace que sea compatible con HTTP/1.1 y exploradores.
- Requiere que la aplicación del explorador genere un cliente gRPC desde un archivo
.proto
. - Permite que las aplicaciones de explorador saquen partido del uso de red de alto rendimiento y bajo nivel de mensajes binarios.
.NET tiene compatibilidad integrada con gRPC-Web. Para obtener más información, consulte gRPC-Web en aplicaciones gRPC de ASP.NET Core.
Transcodificación JSON de gRPC
La transcodificación JSON de gRPC permite a las aplicaciones de explorador llamar a servicios gRPC como si fueran API RESTful con JSON.
- No es necesario que la aplicación de explorador genere un cliente gRPC o que disponga de información sobre gRPC.
- Las API de RESTful se crean automáticamente desde servicios gRPC, anotando para ello el archivo
.proto
con metadatos HTTP. - Permite que una aplicación admita API web de JSON y gRPC sin duplicar el esfuerzo de tener que crear servicios independientes para cada uno de ellos.
.NET tiene compatibilidad integrada para crear API web de JSON desde servicios gRPC. Para obtener más información, consulta Transcodificación JSON de gRPC en aplicaciones gRPC de ASP.NET Core.
Nota:
La transcodificación JSON de gRPC requiere .NET 7 o posterior.