Тайм-аут поддерживает многопоточный веб-запрос

Если вы используете его для простых целей, WebClient достаточно. При отсутствии тайм-аута вы можете унаследовать его и легко переопределить его методом GetWebRequest:

protected override WebRequest GetWebRequest(Uri address)
{
    WebRequest request = base.GetWebRequest(address);
    request.Timeout = Timeout;
    return request;
}

Если вы используете его многопоточно, вы должны установить MaxConnection по коду или app.config:Улучшение производительности многопоточных HttpWebRequests в .NET

Вы можете также легко распараллелить это: Лучшие практики для распараллеливания веб-сканера в .net 4.0

Возможно, Microsoft создала новый класс HttpClient для проблем реализации WebClient (HttpWebRequest)

Но у него нет Proxy, поддержки Gzip.

Для WebClient:

Настройка Timeout все еще бесполезна в многопоточной реализации!

Ограничение параллелизма на HttpWebRequest

Итак, вопрос:

Мне нужен FastWebClient с прокси, тайм-аут (рабочий), поддержка gzip. Я буду использовать его с несколькими прокси-серверами, поэтому мне определенно нужно несколько FastWebClient.

Или помощник:

FastWebHelper.DownloadString (URL-адрес строки, прокси-сервер WebProxy, время ожидания int)

Любая идея ?

Ответы на вопрос(1)

Ваш ответ на вопрос