1

重複の可能性:
C# での HttpWebRequest 接続タイムアウトの調整

私のコードでは、次の形式でオペレーターのリストを取得するためにライブ チャット API を呼び出しています。

            HttpWebRequest request
                = WebRequest.Create("url-here") as HttpWebRequest;
            request.Credentials
                = new NetworkCredential(
                    username,
                    password
                    );

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());

           //dowhatever
            }

今日、ライブチャット API がダウンし、そのせいで私たちのサイトもダウンしました。この場合、API リクエストは回転し続け、「応答していません」状態になりました。

これを修正する方法は?APIが応答するまで待ち続けたくありません。私のページも回転し続けるからです。タイムアウトのような方法はありますか - または 2 秒待ってからライブ チャット リクエスト部分をスキップしますか?

助けてくれてありがとう!

4

1 に答える 1

1

WebRequest.Timeoutプロパティを使用して、コードがタイムアウトするまでの待機時間を設定できます。

var request = WebRequest.Create("url-here") as HttpWebRequest;
request.Credentials = new NetworkCredential(username, password);
request.Timeout = 30 * 1000; // wait for 30 seconds (30,000 milliseconds)
于 2012-06-27T20:51:41.460 に答える