Sdílet prostřednictvím


Použití gRPC v prohlížečových aplikacích

Poznámka:

Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 10 tohoto článku.

Upozorňující

Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.

Autor: James Newton-King

Není možné přímo volat službu gRPC z prohlížeče. gRPC používá funkce HTTP/2 a žádný prohlížeč neposkytuje úroveň kontroly nad webovými požadavky na podporu klienta gRPC.

GRPC na ASP.NET Core nabízí dvě řešení kompatibilní s prohlížečem, transkódování gRPC-Web a gRPC JSON.

gRPC-Web

gRPC-Web umožňuje aplikacím prohlížeče volat služby gRPC pomocí klienta gRPC-Web a Protobuf.

  • Podobá se normálnímu gRPC, ale má trochu jiný protokol wire-protocol, díky kterému je kompatibilní s HTTP/1.1 a prohlížeči.
  • Vyžaduje, aby aplikace prohlížeče vygenerovala klienta gRPC ze .proto souboru.
  • Umožňuje aplikacím v prohlížeči těžit z vysoce výkonného a nízkého využití sítě binárních zpráv.

.NET má integrovanou podporu gRPC-Web. Další informace najdete v tématu gRPC-Web v aplikacích ASP.NET Core gRPC.

Transkódování JSON gRPC

Transkódování json gRPC umožňuje aplikacím prohlížeče volat služby gRPC, jako by šlo o rozhraní RESTful API s JSON.

  • Aplikace prohlížeče nemusí generovat klienta gRPC ani nic vědět o gRPC.
  • Rozhraní RESTful API se automaticky vytvářejí ze služeb gRPC přidáním poznámek k .proto souboru s metadaty HTTP.
  • Umožňuje aplikaci podporovat webová rozhraní API gRPC i JSON bez duplikování úsilí o vytvoření samostatných služeb pro oba.

.NET má integrovanou podporu pro vytváření webových rozhraní API JSON ze služeb gRPC. Další informace najdete v tématu gRPC JSON transkódování v aplikacích ASP.NET Core gRPC.

Poznámka:

Transkódování JSON gRPC vyžaduje rozhraní .NET 7 nebo novější.

Další materiály