Condividi tramite


Usare gRPC nelle app del browser

Nota

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Avviso

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere Criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Importante

Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Di James Newton-King

Non è possibile chiamare direttamente un servizio gRPC da un browser. gRPC usa funzionalità HTTP/2 e nessun browser fornisce il livello di controllo richiesto sulle richieste Web per supportare un client gRPC.

gRPC in ASP.NET Core offre due soluzioni compatibili con browser, la transcodifica gRPC-Web e gRPC JSON.

gRPC-Web

gRPC-Web consente alle app browser di chiamare i servizi gRPC con il client gRPC-Web e Protobuf.

  • Simile al normale gRPC, ma ha un protocollo di collegamento leggermente diverso, che lo rende compatibile con HTTP/1.1 e browser.
  • Richiede che l'app browser generi un client gRPC da un .proto file.
  • Consente alle app del browser di sfruttare le prestazioni elevate e l'utilizzo ridotto della rete dei messaggi binari.

.NET include il supporto predefinito per gRPC-Web. Per altre informazioni, vedere gRPC-Web in ASP.NET app gRPC core.

transcodifica gRPC JSON

la transcodifica gRPC JSON consente alle app del browser di chiamare i servizi gRPC come se fossero RESTAPI con JSON.

  • L'app browser non deve generare un client gRPC o sapere nulla su gRPC.
  • RESTLe APIful vengono create automaticamente dai servizi gRPC annotando il .proto file con i metadati HTTP.
  • Consente a un'app di supportare sia gRPC JSche LE API Web ON senza duplicare lo sforzo di creare servizi separati per entrambi.

.NET include il supporto predefinito per la creazione JSdi API Web ON dai servizi gRPC. Per altre informazioni, vedere transcodifica gRPC JSON nelle app ASP.NET Core gRPC.

Nota

La transcodifica gRPC JSON richiede .NET 7 o versione successiva.

Risorse aggiuntive