Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`ConnectTimeout` exception was throw when use `new ConfigurationOptions`

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

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
28/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
csharp, redis
領域
backend, databases

調査の方向性

まず、示されている AddStackExchangeRedisCache 構成でタイムアウトを再現し、直接初期化した ConfigurationOptions と ConfigurationOptions.Parse(a.ToString()) の結果を比較します。ConfigurationOptions のエントリポイントと、関連する接続セットアップを調査します。原因が特定され、2 つの構築経路が一貫して動作することを確認できれば完了です。関連するテストの場所を特定できた場合は、回帰テストも追加します。

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

説明

But if I use ConfigurationOptions.Parse, everything works fine.

StackExchange.Redis.RedisConnectionException: The message timed out in the backlog attempting to send because no connection became available (5000ms) - Last Connection Exception: It was not possible to connect to the redis server(s). ConnectTimeout, command=EVAL, timeout: 5000, inst: 0, qu: 0, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: Idle, in: 0, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 1, serverEndpoint: localhost:6379, conn-sec: n/a, aoc: 0, mc: 1/1/0, mgr: 10 of 10 available, clientName: Auth.Web, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=1,Free=32766,Min=2,Max=32767), POOL: (Threads=3,QueuedItems=0,CompletedItems=54,Timers=2), v: 2.7.27.49176 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts)
public static IServiceCollection AddCaching(this IServiceCollection services, IConfiguration configuration)
{
    services.AddStackExchangeRedisCache(options =>
    {

        var config = configuration.GetRedisConfiguration();
        var a = new ConfigurationOptions
        {
            ClientName = config.ClientName,
            DefaultDatabase = config.DefaultDatabase,
            EndPoints = new EndPointCollection([.. config.EndPoints.Cast<EndPoint>()])
        };
        var b = ConfigurationOptions.Parse(a.ToString());
        // Timeout when use a;
        options.ConfigurationOptions = a;
        // Worked when use b;
        // options.ConfigurationOptions = b;
    });

    return services;
}
主要言語
C#
スター
6.2k
フォーク
1.6k
平均マージ
2日 3時間
マージ済み PR(30日)
28

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

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

StackExchange/StackExchange.Redis のほかの issue

StackExchange/StackExchange.Redis の issue をすべて見る

似ている issue

C# の issue をもっと見る

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

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