HttpClient is not created and managed with IHttpClientFactory

Abierto
#190 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
58/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
csharp
Área
backend

Línea de trabajo

Comienza en Flagsmith.FlagsmithClient/FlagsmithConfiguration.cs en la línea 89 y lee la construcción del cliente circundante y sus llamadores. Compara esa configuración con la guía enlazada de Microsoft sobre IHttpClientFactory; se considera terminado cuando el cliente se crea y gestiona mediante la factory en lugar de manualmente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

MS article on why you should not be managing your HttpClient manually and instead use IHttpClientFactory. See here for line that should be updated.

Important tidbits here:
"Another issue that developers run into is when using a shared instance of HttpClient in long-running processes. In a situation where the HttpClient is instantiated as a singleton or a static object, it fails to handle the DNS changes as described in this issue of the dotnet/runtime GitHub repository."

"Though this class implements IDisposable, declaring and instantiating it within a using statement is not preferred because when the HttpClient object gets disposed of, the underlying socket is not immediately released, which can lead to a socket exhaustion problem. For more information about this issue, see the blog post You're using HttpClient wrong and it's destabilizing your software."

Lenguaje dominante
C#
Estrellas
20
Forks
17
Merge medio
21 h 47 min
PR fusionados (30 d)
8

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Flagsmith/flagsmith-dotnet-client

Todos los issues de Flagsmith/flagsmith-dotnet-client

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.