无需过多介绍,这里是基本场景。
我有一个从服务器下载文件的 Metro 应用程序。
下载文件后,将ListView
在UI中使用其基本属性更新 a。如果用户ListViewItem
从 中选择一个ListView
,它的StorageFile
内容会显示在它旁边。用户然后根据选择的StorageFile
内容采取一些行动。
现在对于设计问题:
On Suspending
or Shutdown
- 我希望应用程序继续从服务器下载文件,所以我注册了2 BackgroundTasks
。一个是 a SystemTrigger
,它立即启动,另一个是 a TimeTrigger
,每15分钟启动一次。还会发出通知,BackgroundTasks
以便用户知道有更多文件可用。
我在事件引发(和 on )Register
时执行这些任务。当事件引发或从头开始构建应用程序时,我将执行这些任务。这确保了UI或者负责处理,而不是两者都负责。Suspending
Shutdown
Unregister
Resuming
BackgroundTask
在 Visual Studio 中对此进行测试时,BackgroundTasks
按预期工作。但是,在 Visual Studio 之外BackgroundTasks
似乎永远不会触发。这些BackgroundTasks
请求锁定屏幕访问,通过BackgroundExecutionManager.RequestAccessAsync().
这种设计是否存在根本缺陷,还是我错过了一些非常简单的东西?任何帮助,将不胜感激。