当我通过httpClient读取异步消息时,是否可以使用cts.Token?
这就是我想要做的。
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个参数
答案 0 :(得分:1)
不,不是因为方法ReadAsStringAsync
并没有接受CancellationToken
作为参数的重载方法!
您可以在请求取消之前检查一下:
if (!cts.Token.IsCancellationRequested && response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
}