Sdílet prostřednictvím


gRPC na podporovaných platformách .NET

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

Tento článek popisuje požadavky a podporované platformy pro použití gRPC s .NET. Pro dvě hlavní úlohy gRPC existují různé požadavky:

Drátové formáty

gRPC využívá pokročilé funkce dostupné v protokolu HTTP/2. Protokol HTTP/2 není podporován všude, ale pro gRPC je k dispozici druhý formát drátu pomocí protokolu HTTP/1.1:

  • application/grpc – gRPC přes HTTP/2 je způsob, jakým se gRPC obvykle používá.
  • application/grpc-web - gRPC-Web upraví protokol gRPC tak, aby byl kompatibilní s HTTP/1.1. gRPC-Web lze použít na více místech. GRPC-Web je možné používat v aplikacích prohlížeče a v sítích bez úplné podpory protokolu HTTP/2. Už nejsou podporovány dvě pokročilé funkce gRPC: streamování klientů a obousměrné streamování.

gRPC v .NET podporuje oba formáty drátů. application/grpc se používá ve výchozím nastavení. GRPC-Web musí být nakonfigurován na klientovi a na serveru pro úspěšná volání gRPC-Web. Informace o nastavení gRPC-Web najdete v tématu gRPC-Web v aplikacích ASP.NET Core gRPC.

požadavky serveru ASP.NET Core gRPC

Hostování služeb gRPC s ASP.NET Core vyžaduje .NET Core 3.x nebo novější.

  • .NET 5 nebo novější
  • .NET Core 3

ASP.NET služby Core gRPC je možné hostovat ve všech operačních systémech, které .NET Core podporuje.

  • Windows
  • Linux
  • macOS

Podporované servery ASP.NET Core

Podporují se všechny integrované servery ASP.NET Core.

  • Kestrel
  • TestServer
  • IIS†
  • HTTP.sys†

†Požádejte si .NET 5 a Windows 11 build 22000 nebo Windows Server 2022 Build 20348 nebo novější.

Informace o konfiguraci serverů ASP.NET Core pro spouštění gRPC najdete v tématu služby gRPC s ASP.NET Core.

Služby Azure

†gRPC vyžaduje linuxové prostředí ve službě Aplikace Azure Service. Informace o nasazení služby Aplikace Azure Service najdete v tématu Nasazení aplikace .NET 6 gRPC ve službě App Service.

Požadavky klienta .NET gRPC

Balíček Grpc.Net.Client podporuje volání gRPC přes PROTOKOL HTTP/2 v .NET Core 3 a .NET 5 nebo novější.

Pro gRPC přes HTTP/2 v rozhraní .NET Framework je k dispozici omezená podpora. Jiné verze .NET, jako je UPW, Xamarin a Unity, nemají požadovanou podporu HTTP/2 a musí místo toho používat gRPC-Web.

Následující tabulka uvádí implementace .NET a jejich podporu klienta gRPC:

Implementace .NET gRPC přes HTTP/2 gRPC-Web
.NET 5 nebo novější ✔️ ✔️
.NET Core 3 ✔️ ✔️
.NET Core 2.1 ✔️
.NET Framework 4.6.1 ⚠️† ✔️
Blazor WebAssembly ✔️
Mono 5.4 ✔️
Xamarin.iOS 10.14 ✔️
Xamarin.Android 8.0 ✔️
Univerzální platforma Windows 10.0.16299 ✔️
Unity 2018.1 ✔️

†.NET Framework vyžaduje konfiguraci WinHttpHandler Windows 11 nebo novějšího, Windows Serveru 2019 nebo novějšího. Další informace naleznete v tématu Volání gRPC v rozhraní .NET Framework.

Použití Grpc.Net.Client s gRPC-Web vyžaduje další konfiguraci. Další informace:

Důležité

gRPC-Web vyžaduje, aby ho klient a server podporovaly. gRPC-Web je možné rychle nakonfigurovat serverem ASP.NET Core gRPC. Jiné implementace serveru gRPC vyžadují proxy server pro podporu gRPC-Web.

Další materiály