.NETでHttpWebRequestを連続で使用するときの注意点
.NETでHttpRequestを連続送信する事があり、その際に「操作はタイムアウトになりました」と出てその後の通信ができなくなることがあった。
ここにも書いてある通り、3回目からエラーになることから同じ現象と思われる。
ということで、以下のように書いて動作することを確認した。
HttpWebRequest req = null;
try
{
// リクエスト開始
req = (HttpWebRequest)WebRequest.Create(url);
using (var res = req.GetResponse())
{
var s = res.GetResponseStream();
using (var reader = new StreamReader(s))
{
System.Diagnostics.Debug.WriteLine(reader.ReadToEnd());
}
}
}
finally
{
if (req != null)
{
// 連続呼び出しでエラーになる場合があるのでその対策
req.Abort();
}
}
