关于c#:在特定时间运行后台任务-Windows 10 App

Run Background Task at specific time - Windows 10 App

我搜索了一种每天在特定时间(例如e.x)运行后台任务的方法。在12:00。

我已经用TimeTrigger注册了BackgroundTask,不幸的是,它在注册后立即开始。

1
builder.SetTrigger(new TimeTrigger(24 * 60, false));

有没有更简单的方法,然后每小时检查一次,如果这是一天中的正确时间?


Microsoft似乎避免了应用程序在精确的时间触发,但是您可以通过计算从用户注册任务到12:00的分钟数,然后从那里为该任务集重新订阅另一个任务来接近应用程序。 24 * 60。我不确定Microsoft是否允许在"后台"任务中执行此操作,但是值得一试。

计算任务到午夜的分钟数的示例

1
2
3
4
var tommorowMidnight = DateTime.Today.AddDays(1);
var timeTilMidnight = tommorowMidnight - DateTime.Now;
var minutesTilMidnight = (uint)timeTilMidnight.TotalMinutes;
builder.SetTrigger(new TimeTrigger(minutesTilMidnight, true));


我以前曾使用此任务package器创建过类似的内容,并且每天都会触发。也许这就是您要寻找的。

http://taskscheduler.codeplex.com/