Grpc.Net.Client.Web 2.70.0

Prefix Reserved
dotnet add package Grpc.Net.Client.Web --version 2.70.0
                    
NuGet\Install-Package Grpc.Net.Client.Web -Version 2.70.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Grpc.Net.Client.Web" Version="2.70.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Grpc.Net.Client.Web" Version="2.70.0" />
                    
Directory.Packages.props
<PackageReference Include="Grpc.Net.Client.Web" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Grpc.Net.Client.Web --version 2.70.0
                    
#r "nuget: Grpc.Net.Client.Web, 2.70.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Grpc.Net.Client.Web&version=2.70.0
                    
Install Grpc.Net.Client.Web as a Cake Addin
#tool nuget:?package=Grpc.Net.Client.Web&version=2.70.0
                    
Install Grpc.Net.Client.Web as a Cake Tool

Grpc.Net.Client.Web

The .NET gRPC client can be configured to make gRPC-Web calls. This is useful for Blazor WebAssembly apps, which are hosted in the browser and have the same HTTP limitations of JavaScript code. Calling gRPC-Web with a .NET client is the same as HTTP/2 gRPC. The only modification is how the channel is created.

To use gRPC-Web:

  • Add a reference to the Grpc.Net.Client.Web package.
  • Ensure the reference to Grpc.Net.Client package is 2.29.0 or greater.
  • Configure the channel to use the GrpcWebHandler:
var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions
    {
        HttpHandler = new GrpcWebHandler(new HttpClientHandler())
    });

var client = new Greeter.GreeterClient(channel);
var response = await client.SayHelloAsync(new HelloRequest { Name = ".NET" });

The preceding code:

  • Configures a channel to use gRPC-Web.
  • Creates a client and makes a call using the channel.

GrpcWebHandler has the following configuration options:

  • InnerHandler: The underlying HttpMessageHandler that makes the gRPC HTTP request, for example, HttpClientHandler.
  • GrpcWebMode: An enumeration type that specifies whether the gRPC HTTP request Content-Type is application/grpc-web or application/grpc-web-text.
    • GrpcWebMode.GrpcWeb configures content to be sent without encoding. Default value.
    • GrpcWebMode.GrpcWebText configures content to be base64 encoded. Required for server streaming calls in browsers.
  • HttpVersion: HTTP protocol Version used to set HttpRequestMessage.Version on the underlying gRPC HTTP request. gRPC-Web doesn't require a specific version and doesn't override the default unless specified.

gRPC-Web and streaming

Traditional gRPC over HTTP/2 supports streaming in all directions. gRPC-Web offers limited support for streaming:

  • gRPC-Web browser clients don't support calling client streaming and bidirectional streaming methods.
  • gRPC-Web .NET clients don't support calling client streaming and bidirectional streaming methods over HTTP/1.1.
  • ASP.NET Core gRPC services hosted on Azure App Service and IIS don't support bidirectional streaming.

When using gRPC-Web, we only recommend the use of unary methods and server streaming methods.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (43)

Showing the top 5 NuGet packages that depend on Grpc.Net.Client.Web:

Package Downloads
ArmoniK.Api.Client

Package Description

IndependentReserve.Grpc

Basic types used by IndependentReserve.Grpc.Tools package This package contains .NET types which are referenced by gRPC code generated by `IndependentReserve.Grpc.Tools` package. This package might also need to be referenced by legacy .NET Framework projects which use gRPC code generated by `IndependentReserve.Grpc.Tools`. Newer .NET projects usually do not need to reference this package explicitly.

Toggly.FeatureManagement

Toggly.FeatureManagement extends Microsoft.FeatureManagement with extensions to handle feature state changes, Decorate and register services that are injected when a feature is on, feature usage tracking, and integration with toggly.io

M5x.Grpc

Package Description

GamesCheetah.RealtimeEmbeddedServer

Package Description

GitHub repositories (12)

Showing the top 12 popular GitHub repositories that depend on Grpc.Net.Client.Web:

Repository Stars
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core
dodyg/practical-aspnetcore
Practical samples of ASP.NET Core 10 Preview 2, 9, 8.0, 7.0, 6.0, 5.0, 3.1, 2.2, and 2.1,projects you can use. Readme contains explanations on all projects.
FastEndpoints/FastEndpoints
A light-weight REST API development framework for ASP.NET 8 and newer.
grpc/grpc-dotnet
gRPC for .NET
abpframework/abp-samples
Sample solutions built with the ABP Framework
gustavnavar/Grid.Blazor
Grid component with CRUD for Blazor (client-side and server-side) and ASP.NET Core MVC
microsoft/RockPaperScissorsLizardSpock
Rock, Paper, Scissors, Lizard, Spock - Sample Application
havit/Havit.Blazor
Free Bootstrap 5 components for ASP.NET Blazor + optional enterprise-level stack for Blazor development (gRPC code-first, layered architecture, localization, auth, ...)
SteveSandersonMS/BlazeOrbital
Sample application for Blazor WebAssembly on .NET 6
chunliu/AzureDesignStudio
A web app that helps you create the architecture design diagram for your Azure solutions and automatically generate IaC code from it.
sitkoru/Sitko.Core
Sitko.Core is a set of libraries to help build .NET Core applications fast
anuviswan/LearningPoint
A repository for learning different technologies, frameworks, features......
Version Downloads Last updated
2.70.0 31,787 a month ago
2.70.0-pre1 219 a month ago
2.67.0 370,685 5 months ago
2.67.0-pre1 889 6 months ago
2.66.0 332,650 7 months ago
2.66.0-pre1 1,045 7 months ago
2.65.0 218,749 8 months ago
2.65.0-pre1 217 9 months ago
2.64.0 26,492 9 months ago
2.64.0-pre1 149 9 months ago
2.63.0 310,276 5/24/2024
2.63.0-pre1 344 5/8/2024
2.62.0 371,962 3/29/2024
2.62.0-pre1 452 3/8/2024
2.61.0 452,907 2/22/2024
2.61.0-pre1 583 2/8/2024
2.60.0 427,480 1/3/2024
2.60.0-pre1 2,213 12/14/2023
2.59.0 224,548 11/8/2023
2.59.0-pre1 304 10/27/2023
2.58.0 110,208 10/19/2023
2.58.0-pre1 342 10/9/2023
2.57.0 241,338 9/6/2023
2.57.0-pre1 242 8/31/2023
2.56.0 72,128 8/25/2023
2.56.0-pre2 245 8/16/2023
2.56.0-pre1 1,560 8/3/2023
2.55.0 298,735 7/4/2023
2.55.0-pre1 224 6/23/2023
2.54.0 122,786 6/15/2023
2.54.0-pre1 391 5/25/2023
2.53.0 208,556 5/5/2023
2.53.0-pre1 413 4/12/2023
2.52.0 465,269 3/15/2023
2.52.0-pre1 313 3/3/2023
2.51.0 489,803 1/2/2023
2.51.0-pre1 529 12/7/2022
2.50.0 270,257 11/17/2022
2.50.0-pre1 561 11/3/2022
2.49.0 420,502 9/26/2022
2.49.0-pre1 1,178 9/1/2022
2.48.0 235,426 8/24/2022
2.48.0-pre1 439 8/17/2022
2.47.0 267,840 7/3/2022
2.47.0-pre1 828 6/23/2022
2.46.0 187,345 5/13/2022
2.46.0-pre1 1,085 4/28/2022
2.45.0 172,348 4/19/2022
2.45.0-pre1 455 4/7/2022
2.44.0 113,298 3/17/2022
2.44.0-pre1 1,212 3/9/2022
2.43.0 185,818 2/25/2022
2.43.0-pre1 5,404 1/28/2022
2.42.0 143,145 1/19/2022
2.42.0-pre1 3,818 12/30/2021
2.41.0 179,022 12/7/2021
2.41.0-pre1 24,556 11/12/2021
2.40.0 1,167,740 10/5/2021
2.40.0-pre1 666 9/9/2021
2.39.0 230,217 8/18/2021
2.39.0-pre1 78,143 8/6/2021
2.38.0 238,509 6/11/2021
2.38.0-pre1 576 6/4/2021
2.37.0 106,004 4/20/2021
2.37.0-pre1 435 4/14/2021
2.36.0 43,173 3/17/2021
2.36.0-pre1 740 3/9/2021
2.35.0 50,900 2/4/2021
2.35.0-pre1 375 1/26/2021
2.34.0 88,604 12/11/2020
2.34.0-pre1 499 12/1/2020
2.33.1 50,477 10/28/2020
2.33.1-pre1 499 10/22/2020
2.32.0 8,787 10/5/2020
2.32.0-pre1 1,171 9/8/2020
2.31.0 21,123 8/14/2020
2.31.0-pre2 470 8/3/2020
2.30.0 17,062 7/16/2020
2.30.0-pre1 1,124 6/17/2020
2.29.0 26,787 5/27/2020
2.29.0-pre1 934 5/15/2020
2.28.0-pre2 7,277 3/11/2020
2.28.0-pre1 9,442 3/3/2020
2.27.0-pre1 6,674 1/24/2020