C# 在windows 8.1应用商店中计划定时后台任务
我有一个名为消息的StringsDouble列表 该类的代码如下所示:C# 在windows 8.1应用商店中计划定时后台任务,c#,background-process,windows-8.1,C#,Background Process,Windows 8.1,我有一个名为消息的StringsDouble列表 该类的代码如下所示: public class StringsDouble { public string Sender {get; set;} public string Message {get; set;} public DateTime Time {get; set;} } 每次我的应用程序收到新消息时。我更新列表,并为发送该消息的用户存储最近发送消息的时间 我想做的是,每5分钟应用程序都应该浏览列表 对
public class StringsDouble
{
public string Sender {get; set;}
public string Message {get; set;}
public DateTime Time {get; set;}
}
每次我的应用程序收到新消息时。我更新列表,并为发送该消息的用户存储最近发送消息的时间
我想做的是,每5分钟应用程序都应该浏览列表
对于列表中的每个项目,它都应该获得time属性和当前系统时间,并检查差异是否超过30分钟。如果是,则应从列表中删除该项
我怎样才能做到这一点
我认为我需要使用后台任务,但如何安排它每5分钟运行一次?您可以在UI线程上使用
Dispatcher
:
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMinutes(5);
timer.Tick += (sender, e) =>
{
//...
};
timer.Start();
或后台线程上的ThreadPoolTimer
:
ThreadPoolTimer threadPoolTimer = ThreadPoolTimer.CreatePeriodicTimer((source) =>
{
//...
}, TimeSpan.FromMinutes(5));
没有办法每5分钟运行一次背景任务 也许推送通知可以帮助你?它有一个价格,你可以猜测,但你可以发送他们任何时间,任何频率 您可以下载这些示例,还有一个推送通知示例代码。此链接(带代码)似乎建议您可以每隔15分钟分配给应用程序的2秒CPU。因此,您可以在后台任务中比每15分钟更频繁地运行一些代码: