Я пытаюсь выполнить HTTP -запрос, чтобы получить некоторые данные (например, в качестве потока), но с возможностью отменить этот запрос в любое время. Я прочитал о CancellationToken и использую его для запроса отмены (например, нажав кнопку). Как это: < /p>
Код: Выделить всё
private CancellationTokenSource cts = new CancellationTokenSource();
private async void button1_Click(object sender, EventArgs e)
{
try
{
...
var response = await new HttpClient().GetStreamAsync(url, cts.Token);
...
}
catch (OperationCanceledException ex)
{
...
}
}
private void button2_Click(object sender, EventArgs e)
{
cts.Cancel();
}
Тем не менее, отмена запроса прерывает дальнейшее выполнение кода и приводит меня к блоку обработки исключений, но я хочу только прервать запрос и обработать данные, которые уже были получены до отмены запроса.
>
Подробнее здесь:
https://stackoverflow.com/questions/796 ... -cancelled