2012-01-03 15 views
2

メソッドを呼び出すコードを記述しました。webClient.DownloadString。私がプログラムプロファイラを実行したときに、この方法ではプロセッサ時間ではなく98%の時間がかかり、ダウンロード速度は遅すぎる(最大ダウンロード速度の約10%)。プロキシのないダウンロード速度が遅い

でプログラムを実行すると、Fiddlerダウンロード速度が最大ダウンロード速度の90%に増加します。

ここで私のエラーアプリケーションのダウンロード速度を上げるにはどうすればよいですか?

ここに私のコードです。

 WebClient wc = new WebClient(); 
     wc.Encoding = Encoding.GetEncoding("1251"); 
     wc.Proxy = null; 
     HtmlDocument html = new HtmlDocument(); 
     html.LoadHtml(wc.DownloadString("http://some-site.com/" + htmlUrl)); 
     var c1 = html.GetElementbyId("content"); 
     foreach (var c2 in c1.ChildNodes.Where(c => c.Name == "div")) 
     { 
      foreach (var c3 in c2.ChildNodes.Where(c => c.Name == "a")) 
      { 
       var leftIndex = c3.InnerText.IndexOf('('); 
       var rightIndex = c3.InnerText.LastIndexOf(')'); 
       var id = c3.InnerText.Substring(0, leftIndex - 1).Replace(" ", ""); 
       var name = c3.InnerText.Substring(leftIndex + 1, rightIndex - leftIndex - 1); 

       SaveInDB(int.Parse(id), name); 
      } 
     } 

ダウンロード速度を上げるために複数のスレッドで実行しました。

私は他のバリアントwc.Proxy = nullまたはwc.Proxy = GlobalProxySelection.GetEmptyWebProxy()またはWebProxy.GetDefaultProxy()またはwc.Proxy = new WebProxy()を使用しようとしました。私は結果として常にダウンロード速度が低かった。オフ

「コントロールパネル」/「インターネットオプション」のを「設定を自動的に検出する」 - > [接続]タブを - > LANもダウンロード速度を増加させなかった設定。

答えて

0
IWebProxy proxy = GlobalProxySelection.GetEmptyWebProxy(); 
wc.Proxy = proxy; 
関連する問題