Отменить асинхронный веб-запрос?

Я использую библиотеку Async CTP для Windows Phone. Кто-нибудь знает, как отменить ожидающий веб-запрос?

Request = (HttpWebRequest)WebRequest.Create(url);
Request.Credentials = new NetworkCredential(_settings.Username, _settings.Password);
WebResponse resp;
try
{
    resp = await Request.GetResponseAsync();
}

Маркер отмены отсутствует (как указано в документе ASYNC Ctp).


person markwilde    schedule 26.12.2011    source источник


Ответы (1)


Вы можете попробовать позвонить Request.Abort().

person Stephen Cleary    schedule 26.12.2011
comment
Спасибо, он попробовал ваше решение. Если я вызову Request.Abort(), операция продолжится, и через некоторое время Async выдаст исключение. Я пробовал с поддельным адресом (который в итоге дает тайм-аут), а затем отменил запрос. - person markwilde; 27.12.2011
comment
Кажется, это единственное решение. Если я перехватываю WebException и проверяю статус, он дает мне статус RequestCancelled. Так что это, кажется, выход! Спасибо. - person markwilde; 27.12.2011