HttpClient is not created and managed with IHttpClientFactory

Aperta
#190 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
58/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
csharp
Ambito
backend

Direzione di ricerca

Inizia da Flagsmith.FlagsmithClient/FlagsmithConfiguration.cs alla riga 89 e leggi la costruzione del client circostante e i relativi chiamanti. Confronta questa configurazione con la guida Microsoft collegata su IHttpClientFactory; il lavoro è completato quando il client viene creato e gestito tramite la factory invece che manualmente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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."

Lingua principale
C#
Stelle
20
Fork
17
Merge medio
21h 47m
PR unite (30g)
8

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Flagsmith/flagsmith-dotnet-client

Tutte le issue di Flagsmith/flagsmith-dotnet-client

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.