Skip to main content

# Client factory

gRPC client factory can be configured to use load balancing:

- Configures the client with a load-balancing address.
- Specifies channel credentials.
- Registers DI types with the app's IServiceCollection.

Title

    var builder = WebApplication.CreateBuilder(args);

    builder.Services
        .AddGrpcClient<Greeter.GreeterClient>(o =>
        {
            o.Address = new Uri("dns:///my-example-host");
        })
        .ConfigureChannel(o => o.Credentials = ChannelCredentials.Insecure);

    builder.Services.AddSingleton<ResolverFactory>(
        sp => new DnsResolverFactory(refreshInterval: TimeSpan.FromSeconds(30)));

    var app = builder.Build();