我需要大约每分钟发送一次服务器请求,以获取新产品列表(以防它通过网络更改)。
所以,我正在使用 DispatcherTimer
public static void Start()
{
if (timer != null) return;
timer = new DispatcherTimer {Interval = TimeSpan.FromSeconds(0.1)};
timer.Tick += Run;
timer.Start();
}
private static async void Run(object sender, EventArgs e)
{
timer.Interval = TimeSpan.FromSeconds(60); // TODO" add dynamic changes here
timer.Stop();
** Do stuff
timer.Start();
}
但是,有时,我需要强制更新。运行是否正确
public static void ForceUpdate()
{
Run(null, null);
}
编辑:我的意思是,如果Do stuff足够长,不会通过计时器第二次调用它吗?或者也许我应该用别的东西来做这种工作?