Я использую System.Net.WebClient
для выполнения некоторых операций HTTP в асинхронном режиме.Причиной использования асинхронных операций является, прежде всего, тот факт, что я получаю индикаторы изменения прогресса - который доступен только для асинхронных операций, как указано в документах .
Так скажемУ меня настроен WebClient:
this.client = new WebClient();
this.client.UploadStringCompleted +=
new UploadStringCompletedEventHandler(textUploadComplete);
и делегат:
private void textUploadComplete(Object sender, UploadStringCompletedEventArgs e)
{
if (e.Error != null)
{
// trigger UI failure notification
return;
}
// FIXME not checking for response code == 200 (OK)
// trigger UI success notification
}
Итак, вы видите, я предполагаю, что если не возникает исключение, запросы всегда выполняются успешно (что может быть не так, поскольку код состояния ответа HTTP может быть! = 2xx).Из документации по UploadFileAsync Я не могу сказать, обрабатывается ли ответ не 200.
Я действительно новый для C #, и я могу 'Похоже, что нет способа получить доступ к заголовкам для ответа этого конкретного асинхронного запроса.Мне кажется, что каждый WebClient
может содержать только ответ (или набор заголовков) в любой момент времени.
Хотя я не собираюсь выполнять несколько параллельных запросов одновременно, я 'Мне все еще хотелось бы узнать, существует ли более элегантный способ получения заголовков / кода статуса конкретного запроса, вместо того, чтобы получать ответ «последний доступный» от WebClient
.
Спасибо.