如果您爲了簡單目的而使用它,WebClient就足夠了。超時的情況下,你可以繼承它,並覆蓋它的GetWebRequest方法容易:支持超時多線程Web請求
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
request.Timeout = Timeout;
return request;
}
如果您使用的是它的多線程方式,您可以通過代碼或app.config中設置MAXCONNECTION:Improving performance of multithreaded HttpWebRequests in .NET
可以並行化也容易: Best practics for parallelize web crawler in .net 4.0
也許微軟創建新的HttpClient類的WebClient的implemantation問題(HttpWebRequest的)
但它確實沒有Proxy,Gzip支持。
對於Web客戶端:
設置超時在多線程implemantation仍然無濟於事!
Concurrency Limit on HttpWebRequest
所以問題:
我需要FastWebClient與代理,超時(工作一個),gzip的支持。我將使用它與多個代理,所以我定義需要多個FastWebClient。
或輔助:
FastWebHelper.DownloadString(字符串URL,WebProxy代理,INT超時)
任何想法?