gRPC na podporovaných platformách .NET
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
- Windows
- Linux
- macOS†
†macOS nepodporuje hostování aplikací ASP.NET Core pomocí protokolu HTTPS.
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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro