2010-10-20 3 views
1

Я использую WebClient, чтобы получить кучу данных. Чтобы сохранить полосу пропускания (как для клиента, так и для веб-сервера), и ускорить мою программу, я бы хотел скорее прекратить некоторые загрузки, если станет очевидным, что файл, который я загружаю, не содержит информацию, которую я ищу ,WebClient: Abort Загрузить?

Я хотел бы основать это решение на основе заголовков (тип и размер mime) и, возможно, часть содержимого.

В настоящее время я использую webClient.DownloadData, но мне, очевидно, придется переключить его на асинхронный вызов метода. Однако асинхронная версия не передает необходимую мне информацию (заголовки и данные). Есть ли еще один свободный класс, отвечающий этим требованиям?

Что-то, что запускает событие, как только заголовки завершили загрузку, было бы неплохо и периодически с обновлением прогресса.

+0

Что не так с 'DownloadDataAsync'? – SLaks

+0

@SLaks: «Однако асинхронная версия не передает необходимую мне информацию (заголовки и данные)» http://msdn.microsoft.com/en-us/library/system.net.downloadprogresschangedeventargs.aspx – mpen

ответ

0

Используйте класс WebRequest.

+0

ищу что-то немного более высокого уровня, но если этого не существует, я думаю, мне придется это использовать. – mpen

1

Если вы хотите решить, нужно ли что-то загружать на основе заголовков, вы также можете отправить запрос HTTP HEAD, который сообщает серверу только отвечать на заголовки.

Смежные вопросы