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 8 tohoto článku.
Upozorňující
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v tématu .NET a .NET Core Zásady podpory. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
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ší.