.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(); } }