对于WP7应用程序,我已经设法根据msdn上的一些示例运行PeriodTask(发送一个Toast消息)。现在希望扩展到我想做的事情。
任务在后台运行,如果正在运行,我无需与前台应用程序通信。我只是不确定在后台任务中我可以做什么,以及我可以从中访问哪些代码。
我希望能够访问我正在使用的数据库(Sterling),然后更新实时磁贴。据推测,由于它独立运行,我需要打开数据库 - 做我需要做的事情,然后在这个后台进程中关闭数据库。这应该没问题?从我的ScheduledAgent类OnInvoke方法中,我可以调用在前台项目中的类上定义的代码,只要我在ScheduledTask项目中包含对该项目的引用即可。在我的后台定期任务应用程序中运行的代码没有问题吗?
答案 0 :(得分:2)
在BackgroundAgent中,您可以执行任何分开以使用不受支持的列表中的API:http://msdn.microsoft.com/en-us/library/hh202962(v=vs.92).aspx
“市场测试工具包”将检测是否使用任何不受支持的API。
答案 1 :(得分:0)
在我的解决方案中,我添加了一个小型数据模型项目,我在其中创建了一个表示数据/模型的类。 从主应用程序我将实例化对象存储到隔离存储。在scheduletaskproject中,如果您还引用了小型Model项目,则可以从隔离存储中检索该存储的实例。
如果我没弄错的话,还有5mb的内存限制。因此,在scheduletaskproject中使用DB可能是一个问题(参考:http://csainty.blogspot.com/2011/08/wp75-mangobackground-agents.html)