HttpClient is not created and managed with IHttpClientFactory

オープン
#190 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
58/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
静か
技術スタック
csharp
領域
backend

調査の方向性

Flagsmith.FlagsmithClient/FlagsmithConfiguration.cs の 89 行目から始め、周辺のクライアント構築とその呼び出し元を確認してください。その構成を、リンクされている Microsoft の IHttpClientFactory に関するガイダンスと比較してください。完了条件は、クライアントが手動ではなく factory を通じて作成・管理されることです。

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
C#
スター
20
フォーク
17
平均マージ
21時間 47分
マージ済み PR(30日)
8

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Flagsmith/flagsmith-dotnet-client のほかの issue

Flagsmith/flagsmith-dotnet-client の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。