在ASP.NET中的while循环中延迟操作(异步)

Vla*_*kii 0 .net c# windows asp.net loops

我需要创建一个while循环,每次迭代之间要延迟10秒:

while (true)
{
    // operation
    // delay for 10 seconds
}
Run Code Online (Sandbox Code Playgroud)

Tob*_*ler 5

您可以Task.Delay为此:

var timespan = TimeSpan.FromSeconds(10); 

await Task.Delay(timespan);

// or

Task.Delay(timespan).Wait();
Run Code Online (Sandbox Code Playgroud)

我建议使用over Thread.Sleep,因为Thread.Sleep在等待时会阻塞整个线程,而在等待时则Task.Delay允许线程处理其他工作。