Task.Delay () в течение 30 минут (или более длительных периодов) не работает должным образом - PullRequest
0 голосов
/ 13 апреля 2020

В Xamarin я использую метод Task.Delay () следующим образом:

try{ 
    _myTask= Task.Delay(TimeSpan.FromSeconds(secondsToWait), 
    _someTokenForCancel);

     //some code..

     await _myTask;
}catch(TaskCanceledException e)
{
    //some code.. 
}

Когда значение секунд в секундах небольшое (например, 600 в течение 10 минут), оно точное. Когда значение secondsToWait больше (допустим, 1800 в течение 30 минут), оно НЕ является точным. Это делается в более позднее время, чем следовало бы.

Кто-то имеет представление, в чем причина, и может порекомендовать использовать другую функцию? Требования должны быть асинхронными и только один раз (НЕ событие, которое нужно активировать каждые x секунд ..)

...