Megosztás a következőn keresztül:


GRPC használata böngészőalkalmazásokban

Megjegyzés:

Ez nem a cikk legújabb verziója. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.

Figyelmeztetés

A ASP.NET Core ezen verziója már nem támogatott. További információt a .NET és a .NET Core támogatási szabályzatában talál. A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .

Írta: James Newton-King

Nem lehet közvetlenül meghívni egy gRPC-szolgáltatást egy böngészőből. A gRPC HTTP/2-funkciókat használ, és egyetlen böngésző sem biztosítja a gRPC-ügyfél támogatásához szükséges webes kérések feletti vezérlési szintet.

A gRPC a ASP.NET Core-on két böngészőkompatibilis megoldást kínál, a gRPC-Webet és a gRPC JSON-átkódolást.

gRPC-Web

A gRPC-Web lehetővé teszi, hogy a böngészőalkalmazások gRPC-szolgáltatásokat hívjanak a gRPC-Web-ügyféllel és a Protobuftal.

  • Hasonló a normál gRPC-hez, de kissé eltérő wire-protokollal rendelkezik, ami kompatibilis a HTTP/1.1 és a böngészők használatával.
  • A böngészőalkalmazásnak gRPC-ügyfelet kell létrehoznia egy .proto fájlból.
  • Lehetővé teszi, hogy a böngészőalkalmazások kihasználják a bináris üzenetek nagy teljesítményű és alacsony hálózati használatát.

A .NET beépített támogatást nyújt a gRPC-Web szolgáltatáshoz. További információ: gRPC-Web ASP.NET Core gRPC-alkalmazásokban.

gRPC JSON-átkódolás

A gRPC JSON-átkódolással a böngészőalkalmazások úgy hívhatják meg a gRPC-szolgáltatásokat, mintha RESTful API-k lennének jSON-okkal.

  • A böngészőalkalmazásnak nem kell gRPC-ügyfelet létrehoznia, és semmit sem tudnia a gRPC-ről.
  • A RESTful API-k automatikusan létrejönnek a gRPC-szolgáltatásokból a .proto fájl HTTP-metaadatokkal történő megjegyzésével.
  • Lehetővé teszi az alkalmazások számára, hogy mind a gRPC, mind a JSON webes API-kat támogassák anélkül, hogy duplikálják a különálló szolgáltatások létrehozását mindkettőhöz.

A .NET beépített támogatást nyújt jSON webes API-k gRPC-szolgáltatásokból való létrehozásához. További információ: gRPC JSON-átkódolás ASP.NET Core gRPC-alkalmazásokban.

Megjegyzés:

A gRPC JSON-transzkódoláshoz .NET 7 vagy újabb verzió szükséges.

További erőforrások