Obsługiwany limit czasu Wielowątkowe żądanie internetowe
Jeśli używasz go do prostych celów, wystarczy WebClient. Nieobecność limitu czasu możesz ją odziedziczyć i łatwo zastąpić metodę GetWebRequest:
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
request.Timeout = Timeout;
return request;
}
Jeśli używasz go w sposób wielowątkowy, musisz ustawić MaxConnection według kodu lub app.config:Poprawa wydajności wielowątkowych HttpWebRequests w .NET
Możesz go łatwo zrównoleglować:Najlepsze praktyki równoległego przeszukiwacza sieci w .net 4.0
Być może Microsoft stworzył nową klasę HttpClient dla problemów z implementacją WebClient (HttpWebRequest)
Ale nie ma Proxy, wsparcia Gzip.
Dla WebClient:
Ustawianie limitu czasu jest nadal bezużyteczne w implementacji wielowątkowej!
Limit współbieżności w HttpWebRequest
Więc pytanie:
Potrzebuję FastWebClient z proxy, limit czasu (działający), obsługę gzip. Użyję go z wieloma serwerami proxy, więc zdecydowanie potrzebuję wielu FastWebClient.
Lub Pomocnik:
FastWebHelper.DownloadString (łańcuch url, WebProxy proxy, int timeout)
Dowolny pomysł ?