ネットワークとプログラム

ネットワークとプログラムで困ったこと、勉強したこと、その他をつづっていくページです。

HttpWebRequestの連続呼び出し。

2011年03月22日 | プログラム

C#( 2.0 )で Web監視ツールをテスト的に作成するために、HttpWebRequest を連続して呼び出すと3回目以降に
必ず、 WebException の例外が発生する。内容は、「操作はタイムアウトになりました。」とのこと。

ん~~~~。

調査の結果、 Abort()を呼び出すと解決するらしい。
サンプルは以下の例・・・。

while(true){
try{
 WebRequest http = HttpWebRequest.Create(url);
 http.Proxy = null;//自動プロキシ検索を無効
 http.Timeout = 2000;//タイムアウト値の設定 (2秒)
 HttpWebResponse response = (HttpWebResponse)http.GetResponse();
Console.WriteLine("The site is up.");
 http.Abort();//これを入れないと3回目以降失敗し続ける。
}catch (WebException webexc)
{
 Console.WriteLine("The site is down. : " + webexc.Message);
}
Thread.Sleep(5000); //5秒に待つ
}

忘れずにメモメモ

最新の画像もっと見る