Usar o gRPC em aplicativos de navegador
Observação
Esta não é a versão mais recente deste artigo. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
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, confira gRPC-Web em aplicativos gRPC do ASP.NET Core.
Transcodificação JSON gRPC
A transcodificação do gRPC JSON permite que os aplicativos de navegador chamem os serviços gRPC como se fossem APIs RESTful com JSON.
- O aplicativo do navegador não precisa gerar um cliente gRPC nem saber nada sobre gRPC.
- APIs RESTful 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 JSON e gRPC sem a necessidade de criar de serviços separados para ambos.
O .NET tem suporte interno para criar APIs Web JSON a partir de serviços gRPC. Para obter mais informações, consulte Transcodificação JSON gRPC nos aplicativos gRPC do ASP.NET Core.
Observação
A transcodificação JSON gRPC requer a versão .NET 7 ou posterior.