Я уже давно занимаюсь этой проблемой, используя HTTPClient.Мой асинхронный метод с HTTPClient продолжает выдавать TaskCanceledException каждые несколько часов или около того.
Я проверил с IsCancellationRequested и подтвердил, что токен был отменен, поэтому это не проблема тайм-аута.
https://i.imgur.com/QdCPcFk.png
В методе GetAsync ниже генерируется исключение:
public async Task CheckDodgeOrStart() // checks if game started
{
while (true)
{
try
{
var response = await client.GetAsync(_baseURL + /lol-gameflow/v1/gameflow-phase");
var stringResponse = await response.Content.ReadAsStringAsync();
if (stringResponse.Contains("InProgress") || stringResponse.Contains("Reconnect"))
{
if (bot.isLeader)
{
Form1.Log(_username + ": " + "Game has successfully started..");
}
break;
}
await Task.Delay(1000);
}
catch (TaskCanceledException e)
{
if (!e.CancellationToken.IsCancellationRequested)
Console.WriteLine("Timeout");
}
}
}
Помощь будет принята, спасибо.