Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
HttpClient properties not being passed with DI

I'm working on an ASP.NET Core 5.0 project which has a service that accesses an API. Based on the code below, I'd expect the HttpClient supplied to ToornamentService's constructor to contain the declared BaseAddress and API key header.

However, when debugging, I noticed that the HttpClient never has either of those. BaseAdress is null, and the header is missing. I've tried using an IHttpClientFactory instead of the typed client, but I end up with the same result.

What am I doing wrong?

ConfigureServices Method:

public void ConfigureServices(IServiceCollection services)
    {
        //Omitted for brevity
        services.AddHttpClient<ToornamentService>(c =>
        {
            c.BaseAddress = new Uri("https://api.toornament.com/");
            c.DefaultRequestHeaders.Add("X-Api-Key", Configuration["Toornament:ApiKey"]);
        });

        services.AddTransient<ToornamentService>();
    }

ToornamentService class:

public ToornamentService(HttpClient client)
    {
        Client = client; // client.BaseAddress here is null
    }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Remove this line: services.AddTransient<ToornamentService>();

When you call AddHttpClient, it injects the service for you as transient.

So what you are doing is injecting it twice. And since your transient injection is the last injection, that takes precedence over the AddHttpClient injection.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda