我正在尝试创建一个计时器,用于检查计算机的锁定时间。计划是计时器计数30分钟,然后在30分钟后执行一些代码。到目前为止我试试这个
int startin = 1800 - DateTime.Now.Second;
var time = new System.Threading.Timer(o => Console.WriteLine("hello"), null, startin * 1000, 1800000);
除了我需要在用户登录时停止并重置计时器时才有效。 任何的想法?感谢
答案 0 :(得分:1)
public class Timer
{
CancellationTokenSource _cts = new CancellationTokenSource();
public Task Wait(TimeSpan delay)
{
return Task.Delay(delay, _cts.Token);
}
public void Stop()
{
_cts.Cancel();
}
}
用法:
var t = new Timer();
await t.Wait(TimeSpan.FromMinutes(30));