Events
Power BI DataViz World Championships
Feb 14, 4 PM - Mar 31, 4 PM
With 4 chances to enter, you could win a conference package and make it to the LIVE Grand Finale in Las Vegas
Learn moreThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
This isn't the latest version of this article. For the current release, see the .NET 9 version of this article.
Warning
This version of ASP.NET Core is no longer supported. For more information, see the .NET and .NET Core Support Policy. For the current release, see the .NET 9 version of this article.
Important
This information relates to a pre-release product that may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
For the current release, see the .NET 9 version of this article.
This article discusses the requirements and supported platforms for using gRPC with .NET. There are different requirements for the two major gRPC workloads:
gRPC takes advantage of advanced features available in HTTP/2. HTTP/2 isn't supported everywhere, but a second wire-format using HTTP/1.1 is available for gRPC:
application/grpc
- gRPC over HTTP/2 is how gRPC is typically used.application/grpc-web
- gRPC-Web modifies the gRPC protocol to be compatible with HTTP/1.1. gRPC-Web can be used in more places. gRPC-Web can be used by browser apps and in networks without complete support for HTTP/2. Two advanced gRPC features are no longer supported: client streaming and bidirectional streaming.gRPC on .NET supports both wire-formats. application/grpc
is used by default. gRPC-Web must be configured on the client and the server for successful gRPC-Web calls. For information on setting up gRPC-Web, see gRPC-Web in ASP.NET Core gRPC apps.
Hosting gRPC services with ASP.NET Core requires .NET Core 3.x or later.
ASP.NET Core gRPC services can be hosted on all operating system that .NET Core supports.
†macOS doesn't support hosting ASP.NET Core apps with HTTPS.
All built-in ASP.NET Core servers are supported.
†Requires .NET 5 and Windows 11 Build 22000 or Windows Server 2022 Build 20348 or later.
For information about configuring ASP.NET Core servers to run gRPC, see gRPC services with ASP.NET Core.
†gRPC requires a Linux-based environment on Azure App Service. See How-to deploy a .NET 6 gRPC app on App Service for Azure App Service deployment information.
The Grpc.Net.Client package supports gRPC calls over HTTP/2 on .NET Core 3 and .NET 5 or later.
Limited support is available for gRPC over HTTP/2 on .NET Framework. Other .NET versions such as UWP and Unity don't have required HTTP/2 support, and must use gRPC-Web instead.
The following table lists .NET implementations and their gRPC client support:
.NET implementation | gRPC over HTTP/2 | gRPC-Web |
---|---|---|
.NET 5 or later | ✔️ | ✔️ |
.NET Core 3 | ✔️ | ✔️ |
.NET Core 2.1 | ❌ | ✔️ |
.NET Framework 4.6.1 | ⚠️† | ✔️ |
Blazor WebAssembly | ❌ | ✔️ |
Mono 5.4 | ❌ | ✔️ |
Universal Windows Platform 10.0.16299 | ❌ | ✔️ |
Unity 2018.1 | ❌ | ✔️ |
†.NET Framework requires configuration of WinHttpHandler and Windows 11 or later, Windows Server 2019 or later. For more information, see Make gRPC calls on .NET Framework.
Using Grpc.Net.Client
with gRPC-Web requires additional configuration. For more information:
Important
gRPC-Web requires the client and server to support it. gRPC-Web can be quickly configured by an ASP.NET Core gRPC server. Other gRPC server implementations require a proxy to support gRPC-Web.
ASP.NET Core feedback
ASP.NET Core is an open source project. Select a link to provide feedback:
Events
Power BI DataViz World Championships
Feb 14, 4 PM - Mar 31, 4 PM
With 4 chances to enter, you could win a conference package and make it to the LIVE Grand Finale in Las Vegas
Learn moreTraining
Learning path
Create cloud-native apps and services with .NET and ASP.NET Core - Training
Create independently deployable, highly scalable, and resilient apps and services using the free and open-source .NET platform. With .NET you can use popular microservice technology like Docker, Kubernetes, Dapr, Azure Container Registry, and more for .NET and ASP.NET Core applications and services.