Grpc.Net.ClientFactory 2.64.0-pre1

Prefix Reserved
This is a prerelease version of Grpc.Net.ClientFactory.
dotnet add package Grpc.Net.ClientFactory --version 2.64.0-pre1                
NuGet\Install-Package Grpc.Net.ClientFactory -Version 2.64.0-pre1                
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.ClientFactory" Version="2.64.0-pre1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Grpc.Net.ClientFactory --version 2.64.0-pre1                
#r "nuget: Grpc.Net.ClientFactory, 2.64.0-pre1"                
#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.
// Install Grpc.Net.ClientFactory as a Cake Addin
#addin nuget:?package=Grpc.Net.ClientFactory&version=2.64.0-pre1&prerelease

// Install Grpc.Net.ClientFactory as a Cake Tool
#tool nuget:?package=Grpc.Net.ClientFactory&version=2.64.0-pre1&prerelease                

Grpc.Net.ClientFactory

gRPC integration with HttpClientFactory offers a centralized way to create gRPC clients. It can be used as an alternative to configuring stand-alone gRPC client instances.

The factory offers the following benefits:

  • Provides a central location for configuring logical gRPC client instances
  • Manages the lifetime of the underlying HttpClientMessageHandler
  • Automatic propagation of deadline and cancellation in an ASP.NET Core gRPC service

Register gRPC clients

To register a gRPC client, the generic AddGrpcClient extension method can be used within Startup.ConfigureServices, specifying the gRPC typed client class and service address:

services.AddGrpcClient<Greeter.GreeterClient>(o =>
{
    o.Address = new Uri("https://localhost:5001");
});

The gRPC client type is registered as transient with dependency injection (DI). The client can now be injected and consumed directly in types created by DI. ASP.NET Core MVC controllers, SignalR hubs and gRPC services are places where gRPC clients can automatically be injected:

public class AggregatorService : Aggregator.AggregatorBase
{
    private readonly Greeter.GreeterClient _client;

    public AggregatorService(Greeter.GreeterClient client)
    {
        _client = client;
    }

    public override async Task SayHellos(HelloRequest request,
        IServerStreamWriter<HelloReply> responseStream, ServerCallContext context)
    {
        // Forward the call on to the greeter service
        using (var call = _client.SayHellos(request))
        {
            await foreach (var response in call.ResponseStream.ReadAllAsync())
            {
                await responseStream.WriteAsync(response);
            }
        }
    }
}
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. 
.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.

NuGet packages (153)

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

Package Downloads
Grpc.AspNetCore.Server.ClientFactory

HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core

Microsoft.Azure.Functions.Worker.Grpc

This library provides gRPC support for Azure Functions .NET Worker communication with the Azure Functions Host.

CouchbaseNetClient

The Official Couchbase .NET SDK.

Microsoft.Azure.Functions.Worker.Extensions.Rpc

Contains types to facilitate RPC communication between a worker extension and the functions host.

protobuf-net.Grpc.ClientFactory

Package Description

GitHub repositories (33)

Showing the top 5 popular GitHub repositories that depend on Grpc.Net.ClientFactory:

Repository Stars
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core
grpc/grpc-dotnet
gRPC for .NET
dotnet/aspire
An opinionated, cloud ready stack for building observable, production ready, distributed applications in .NET
AlphaYu/adnc
.NET微服务/分布式开发框架,同时也适用于单体架构系统的开发。
dapr/dotnet-sdk
Dapr SDK for .NET
Version Downloads Last updated
2.64.0-pre1 167 7/15/2024
2.63.0 615,127 5/24/2024
2.63.0-pre1 20,557 5/8/2024
2.62.0 1,223,833 3/29/2024
2.62.0-pre1 3,103 3/8/2024
2.61.0 1,552,149 2/22/2024
2.61.0-pre1 11,092 2/8/2024
2.60.0 5,634,664 1/3/2024
2.60.0-pre1 11,046 12/14/2023
2.59.0 2,563,721 11/8/2023
2.59.0-pre1 7,882 10/27/2023
2.58.0 844,559 10/19/2023
2.58.0-pre1 30,666 10/9/2023
2.57.0 2,028,193 9/6/2023
2.57.0-pre1 4,551 8/31/2023
2.56.0 438,778 8/25/2023
2.56.0-pre2 4,341 8/16/2023
2.56.0-pre1 10,909 8/3/2023
2.55.0 9,350,701 7/4/2023
2.55.0-pre1 5,045 6/23/2023
2.54.0 1,237,244 6/15/2023
2.54.0-pre1 10,764 5/25/2023
2.53.0 2,336,992 5/5/2023
2.53.0-pre1 13,155 4/12/2023
2.52.0 2,483,458 3/15/2023
2.52.0-pre1 7,776 3/3/2023
2.51.0 5,060,724 1/2/2023
2.51.0-pre1 6,997 12/7/2022
2.50.0 2,098,372 11/17/2022
2.50.0-pre1 18,970 11/3/2022
2.49.0 13,079,618 9/26/2022
2.49.0-pre1 3,609 9/1/2022
2.48.0 1,460,674 8/24/2022
2.48.0-pre1 2,637 8/17/2022
2.47.0 2,695,545 7/3/2022
2.47.0-pre1 2,985 6/23/2022
2.46.0 2,982,097 5/13/2022
2.46.0-pre1 6,417 4/28/2022
2.45.0 1,799,454 4/19/2022
2.45.0-pre1 12,417 4/7/2022
2.44.0 1,619,077 3/17/2022
2.44.0-pre1 19,625 3/9/2022
2.43.0 1,119,009 2/25/2022
2.43.0-pre1 10,438 1/28/2022
2.42.0 2,860,721 1/19/2022
2.42.0-pre1 9,685 12/30/2021
2.41.0 1,553,840 12/7/2021
2.41.0-pre1 20,064 11/12/2021
2.40.0 5,252,805 10/5/2021
2.40.0-pre1 4,483 9/9/2021
2.39.0 1,544,650 8/18/2021
2.39.0-pre1 5,625 8/6/2021
2.38.0 2,069,945 6/11/2021
2.38.0-pre1 1,715 6/4/2021
2.37.0 7,524,714 4/20/2021
2.37.0-pre1 1,297 4/14/2021
2.36.0 1,196,785 3/17/2021
2.36.0-pre1 1,691 3/9/2021
2.35.0 1,369,350 2/4/2021
2.35.0-pre1 2,265 1/26/2021
2.34.0 2,057,149 12/11/2020
2.34.0-pre1 3,787 12/1/2020
2.33.1 1,235,536 10/28/2020
2.33.1-pre1 1,552 10/22/2020
2.32.0 1,729,246 10/5/2020
2.32.0-pre1 14,131 9/8/2020
2.31.0 980,964 8/14/2020
2.31.0-pre2 1,717 8/3/2020
2.30.0 407,563 7/16/2020
2.30.0-pre1 4,204 6/17/2020
2.29.0 604,703 5/27/2020
2.29.0-pre1 5,896 5/15/2020
2.28.0 690,896 4/9/2020
2.28.0-pre2 17,267 3/11/2020
2.28.0-pre1 7,279 3/3/2020
2.27.0 1,577,076 2/7/2020
2.27.0-pre1 24,626 1/24/2020
2.26.0 1,537,665 12/19/2019
2.26.0-pre1 1,488 12/10/2019
2.25.0 1,030,160 11/7/2019
2.25.0-pre1 1,489 11/1/2019
2.24.0 324,952 10/21/2019
2.24.0-pre1 1,902 10/9/2019
2.23.2 630,617 9/20/2019
0.2.23-pre2 10,089 9/6/2019
0.2.23-pre1 13,195 8/21/2019
0.1.22-pre3 7,252 7/30/2019
0.1.22-pre2 12,176 7/2/2019
0.1.22-pre1 2,759 6/17/2019
0.1.21-pre1 1,869 6/4/2019