Usar o gRPC em aplicativos de navegador
Não é possível chamar um serviço gRPC diretamente de um navegador. O gRPC usa recursos HTTP/2 e nenhum navegador fornece o nível de controle necessário em solicitações da Web para dar suporte a um cliente gRPC.
O gRPC no ASP.NET Core oferece duas soluções compatíveis com o navegador, a transcodificação de gRPC-Web e gRPC JSON.
gRPC-Web
O GRPC-Web permite que aplicativos de navegador chamem serviços gRPC com o cliente gRPC-Web e o Protobuf.
- Semelhante ao gRPC normal, mas com um protocolo de transmissão ligeiramente diferente, o que o torna compatível com HTTP/1.1 e navegadores.
- Requer que o aplicativo do navegador gere um cliente gRPC de um arquivo
.proto
. - Permite que os aplicativos do navegador se beneficiem do alto desempenho e do baixo uso de rede de mensagens binárias.
O .NET tem suporte interno para gRPC-Web. Para obter mais informações, consulte gRPC-Web em aplicativos gRPC do ASP.NET Core.
Transcodificação de gRPC JSON
A transcodificação de gRPC JSON permite que os aplicativos do navegador chamem serviços gRPC como se fossem RESTAPIs completas com JSON.
- O aplicativo do navegador não precisa gerar um cliente gRPC nem saber nada sobre gRPC.
- RESTAPIs ful são criadas automaticamente a partir de serviços gRPC anotando o arquivo
.proto
com metadados HTTP. - Permite que um aplicativo dê suporte a APIs Web gRPC e JSON sem duplicar o esforço de criação de serviços separados para ambos.
O .NET tem suporte interno para criar APIs Web JSON de serviços gRPC. Para obter mais informações, consulte Transcodificação de gRPC JSON em aplicativos gRPC do ASP.NET Core.
Observação
A transcodificação de gRPC JSON requer .NET 7 ou posterior.
Recursos adicionais
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários