【发布时间】:2018-01-29 15:39:48
【问题描述】:
所以我在 UWP 上有一个后台任务,可以从服务器下载数据。此任务可能需要一分钟,具体取决于 Internet 速度。我发现当我的用户最小化应用程序时下载被暂停,所以决定在BackgroundTask上运行它
测试时我发现我的下载没有完成,后来从this link发现后台任务有限制:
后台任务的使用时间限制为 30 秒。
但经过一番谷歌搜索后,我发现this link 提到了一种增加后台任务超时的方法
在通用 Windows 平台中,后台任务是 在后台运行,无需任何形式的用户界面。背景 任务通常最多可以运行 25 秒 他们被取消了。一些运行时间较长的任务也有检查 确保后台任务没有闲置或使用 记忆。在 Windows 创意者更新(版本 1703)中, 引入了extendedBackgroundTaskTime 受限功能 删除这些限制。 extendedBackgroundTaskTime 能力是 在应用的清单文件中添加为受限功能:
Package.appxmanifest
XML
<Package ...> <Capabilities> <rescap:Capability Name="extendedBackgroundTaskTime"/> </Capabilities> </Package>此功能消除了执行时间 限制和空闲任务看门狗
但将以上内容添加到我的 package.appxmanifest 文件后,我收到以下错误:
“Package.appxmanifest”文件的内容不是格式正确的 XML。 'rescap' 是一个未声明的前缀
那么是否可以从我的应用程序中删除此后台任务限制?
【问题讨论】:
-
阅读您找到的那篇文章中的链接,尤其是this one。
-
@MikeMcCaughan 我可以看到它说“没有人可以请求访问这些功能以进行商店提交。”在
extendedBackgroundTaskTime下。这是否意味着它不可能做我上面想做的事情? -
我不知道。我刚刚读到您收到有关 rescap 的错误,知道它是一个基本的 XML 命名空间验证,并且阅读了足够多的文章以了解他们在哪里添加命名空间。
-
你确定你把它正确地压缩到文件中了吗?
标签: c# uwp background-task