后台任务已取消(ExecutionTimeExceeded)

时间:2016-01-31 17:03:30

标签: c# windows-store-apps win-universal-app

我有一个后台任务,下载了一些JSON数据文件,当我使用Visual Studio调用它时,它们可以正常运行。在启动时使用UserPresent触发器调用后台任务时,它将被取消(ExecutionTimeExceeded。)

我可以做什么来无限制地运行后台任务?

1 个答案:

答案 0 :(得分:1)

可能不是,时间限制取决于触发类型,而MSDN says可能会在30秒到10分钟之间变化:

  

CPU配额:后台任务受限于它们根据触发类型获得的挂钟使用时间。大多数触发器限制为30秒的挂钟使用,而一些触发器能够运行长达10分钟以完成密集型任务。后台任务应该是轻量级的,以节省电池寿命并为前台应用程序提供更好的用户体验。有关应用于后台任务的资源限制,请参阅使用后台任务支持您的应用程序。

backgroundtask应该是一个轻量级的代码 - 也许你可以将文件下载程序重定向到后台传输服务,并在主应用程序中做一些繁重的工作。您也可以尝试使用 MaintenanceTrigger ,这个约束可能会更低,但是一旦手机连接到AC,它就会触发。