ReadAsStringAsync с использованием cts.Token - PullRequest
0 голосов
/ 15 ноября 2018

Можно ли использовать cts.Token, когда я читаю async через httpClient?

Вот что я пытаюсь сделать.

using (var client = new HttpClient())
            {
                client.Timeout = TimeSpan.FromMilliseconds(20000);
                var response = await client.PostAsync("http://" + MyIp + ":9090/api/SqlAction/", new StringContent(postQuery, Encoding.UTF8, "application/json"), cts.Token);

                if (response.IsSuccessStatusCode)
                {

                    string content = await response.Content.ReadAsStringAsync(cts.Token);
               }

Но я беру Ошибка CS1501 Нет перегрузки для метода «ReadAsStringAsync» принимает 1 аргумент

1 Ответ

0 голосов
/ 15 ноября 2018

Нет, это не потому, что метод ReadAsStringAsync не имеет перегруженного метода, который принимает CancellationToken в качестве аргумента!

Вы могли проверить раньше, если запрос на отмену:

if (!cts.Token.IsCancellationRequested && response.IsSuccessStatusCode)
{
    string content = await response.Content.ReadAsStringAsync();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...