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.
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.