Windows phone 7 WP7定期任务-我可以在其中做什么

Windows phone 7 WP7定期任务-我可以在其中做什么,windows-phone-7,background,Windows Phone 7,Background,对于一个WP7应用程序,我已经按照msdn上的一些示例成功地运行了一个PeriodTask(发送toast消息)。现在,我想扩展到做我想做的事情 任务正在后台运行,如果前台应用正在运行,我不需要它与前台应用进行通信。我只是有点不确定在这个后台任务中我可以做什么,以及我可以从中访问什么代码 我希望能够访问我正在使用的数据库(Sterling),然后更新live tile。据推测,由于它是独立运行的,因此我需要打开数据库-在这个后台进程中执行我需要执行的操作,重新创建磁贴,然后关闭数据库。这应该没问

对于一个WP7应用程序,我已经按照msdn上的一些示例成功地运行了一个PeriodTask(发送toast消息)。现在,我想扩展到做我想做的事情

任务正在后台运行,如果前台应用正在运行,我不需要它与前台应用进行通信。我只是有点不确定在这个后台任务中我可以做什么,以及我可以从中访问什么代码

我希望能够访问我正在使用的数据库(Sterling),然后更新live tile。据推测,由于它是独立运行的,因此我需要打开数据库-在这个后台进程中执行我需要执行的操作,重新创建磁贴,然后关闭数据库。这应该没问题吧?在ScheduledAgent类OnInvoke方法中,只要在ScheduledTask项目中包含对该项目的引用,我就可以调用在前台项目中的类上定义的代码。在我的后台定期任务应用程序中运行的代码没有问题吗

  • 谢谢

在BackgroundAgent中,除了使用不支持列表中的API之外,您还可以执行任何操作:


“市场测试工具包”将检测任何不受支持的API的使用。

在我的解决方案中,我添加了一个小型数据模型项目,在该项目中,我创建了一个类来表示数据/模型。 从主应用程序I存储该实例化对象到独立存储。在scheduletaskproject中,如果还引用了小模型项目,则可以从独立存储中检索存储的实例


如果我没有弄错的话,还有一个5mb内存限制。因此,在scheduletaskproject中使用DB可能是一个问题(参考:)

此外,您不能使用这些不受支持的API引用任何程序集。(这让共享代码有些痛苦)太棒了——感谢你们两位。我可以看出,如果您使用的是一些不受支持的API,共享代码可能会有点棘手。在我的定期任务(在scheduletaskproject中)中,我计划引用我的Mainproject在那里运行一些代码来更新live tile。但是我不能将Mainproject添加为ScheduleTaskproject的引用,因为这样会导致循环引用。所以,我需要仔细地将代码重构成某种公共项目?根据scheduledTaskProject需要做什么,这可能是一个需要解决的问题。