Grpc.Net.ClientFactory 2.44.0

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);
            }
        }
    }
}

Showing the top 20 packages that depend on Grpc.Net.ClientFactory.

Packages Downloads
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
623
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
385
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
305
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
135
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
113
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
88
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
69
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
54
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
52
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
33
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
21
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
20
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
17
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
16
Grpc.AspNetCore.Server.ClientFactory
HttpClientFactory integration the for gRPC .NET client when running in ASP.NET Core
15

.NET 5.0

.NET 6.0

.NET Standard 2.0

.NET Standard 2.1

Version Downloads Last updated
2.67.0-pre1 0 10/22/2024
2.66.0 7 09/23/2024
2.66.0-pre1 3 09/09/2024
2.65.0 6 08/01/2024
2.65.0-pre1 7 07/26/2024
2.64.0 6 07/26/2024
2.64.0-pre1 7 07/26/2024
2.63.0 8 05/29/2024
2.63.0-pre1 8 05/23/2024
2.62.0 8 04/01/2024
2.62.0-pre1 9 03/09/2024
2.61.0 10 02/28/2024
2.61.0-pre1 9 03/01/2024
2.60.0 180 01/30/2024
2.60.0-pre1 9 01/08/2024
2.59.0 131 11/15/2023
2.59.0-pre1 9 01/10/2024
2.58.0 7 03/03/2024
2.58.0-pre1 14 10/11/2023
2.57.0 7 11/30/2023
2.57.0-pre1 9 12/05/2023
2.56.0 10 10/21/2023
2.56.0-pre2 29 08/25/2023
2.56.0-pre1 8 10/12/2023
2.55.0 14 09/22/2023
2.55.0-pre1 12 07/01/2023
2.54.0 15 11/23/2023
2.54.0-pre1 13 12/01/2023
2.53.0 11 11/29/2023
2.53.0-pre1 10 08/15/2023
2.52.0 14 09/14/2023
2.52.0-pre1 6 03/08/2024
2.51.0 11 10/06/2023
2.51.0-pre1 8 07/01/2023
2.50.0 521 12/14/2022
2.50.0-pre1 9 12/18/2023
2.49.0 466 12/14/2022
2.49.0-pre1 9 10/09/2023
2.48.0 12 06/04/2023
2.48.0-pre1 9 06/05/2023
2.47.0 7 12/26/2023
2.47.0-pre1 12 08/16/2023
2.46.0 374 07/09/2022
2.46.0-pre1 7 07/01/2023
2.45.0 15 10/01/2023
2.45.0-pre1 8 10/09/2023
2.44.0 11 11/07/2023
2.44.0-pre1 10 06/04/2023
2.43.0 11 06/06/2023
2.43.0-pre1 8 06/04/2023
2.42.0 9 12/18/2023
2.42.0-pre1 13 07/01/2023
2.41.0 13 06/15/2023
2.41.0-pre1 8 12/30/2023
2.40.0 969 11/12/2021
2.40.0-pre1 7 01/18/2024
2.39.0 55 09/16/2021
2.39.0-pre1 8 09/14/2023
2.38.0 93 07/16/2021
2.38.0-pre1 11 10/11/2023
2.37.0 76 05/24/2021
2.37.0-pre1 9 08/14/2023
2.36.0 40 03/19/2021
2.36.0-pre1 9 11/13/2023
2.35.0 22 03/03/2021
2.35.0-pre1 10 06/30/2023
2.34.0 52 01/13/2021
2.34.0-pre1 8 06/05/2023
2.33.1 15 12/16/2020
2.33.1-pre1 11 06/30/2023
2.32.0 110 08/02/2021
2.32.0-pre1 12 06/16/2023
2.31.0 17 11/18/2023
2.31.0-pre2 11 10/16/2023
2.30.0 9 11/07/2023
2.30.0-pre1 10 01/10/2024
2.29.0 10 08/19/2023
2.29.0-pre1 7 12/04/2023
2.28.0 14 11/13/2023
2.28.0-pre2 8 02/18/2024
2.28.0-pre1 6 02/04/2024
2.27.0 7 12/29/2023
2.27.0-pre1 6 01/21/2024
2.26.0 11 11/29/2023
2.26.0-pre1 7 03/08/2024
2.25.0 12 12/25/2023
2.25.0-pre1 11 10/16/2023
2.24.0 12 10/20/2023
2.24.0-pre1 12 10/10/2023
2.23.2 11 11/26/2023
0.2.23-pre2 9 01/06/2024
0.2.23-pre1 9 10/11/2023
0.1.22-pre3 9 12/03/2023
0.1.22-pre2 8 10/23/2023
0.1.22-pre1 9 10/13/2023
0.1.21-pre1 9 11/25/2023