web-dev-qa-db-ja.com

トランスポート接続からデータを読み取れません:コンソールアプリケーションで接続が閉じられましたエラー

このコードはコンソールアプリケーションにあり、ループで実行されます

 try
 {
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(search);
      request.Headers.Add("Accept-Language", "de-DE");
      request.Method = "GET";
      request.Accept = "text/html";
      using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
      {
           using (StreamReader reader = new StreamReader(response.GetResponseStream(),
                    Encoding.ASCII))
           {
                string html = reader.ReadToEnd();
                    FindForMatch(html, url);
           }
      }
 }
 catch (Exception ex)
 {
      throw new Exception(ex.Message);
 }

いくつかのループの後、それは与えます

トランスポート接続からデータを読み取れません:接続が閉じられました

エラー。なぜこれが起こるのか考えていますか?ありがとう..

11
Darshana

追加後

request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10; 

それはうまくいきます。

私はそれがこのブログ投稿から見つけました

WebRequestおよびトランスポート接続からデータを読み取れませんエラー

23
Darshana

私はちょうどコードを試し、google.comをロードするために10回ループしました、そしてそれは私のために働きました。 searchについて何か特別なことはありますか?おそらくそれを別のuriに置き換えてみてください。 findForMatchを含めませんでした-例外を引き起こすようなことは何もしていないと思います。

0
Michael