gpt4 book ai didi

c# - 如何在 Windows 8 JS Metro 应用程序的后台任务中使用时间触发器

转载 作者:行者123 更新时间:2023-11-28 01:22:55 25 4
gpt4 key购买 nike

我有一个要求,我必须每隔 1 小时在后台调用一个服务才能从服务器获取一些信息。我正在开发 JavaScript Metro 应用程序。我尝试过后台任务并使用时间触发器,并将其安排为每 15 分钟触发一次。它第一次被调用,然后就再也没有被调用过。我没有关闭后台任务,因为我希望它一直运行并在计划的时间调用服务。我用过Microsoft Background task sample供引用。

请告诉我在后台调用服务的最佳方法是什么。如何使用时间触发器以及为什么第一次之后时间触发器没有被调用?

请分享代码示例或演练(如果有)。

谢谢

最佳答案

您应该做的第一件事是按照文档中的说明正确关闭后台任务 - 如果您的任务表现不佳,平台可能会挂起并拒绝运行它们一段时间。您应该让平台根据您定义的触发器和条件来处理事件的触发,而不是尝试改变系统。另外,请记住,后台任务存在 CPU 和数据使用配额,无法在后台任务中进行大量处理 - 如果超出配额,任务将被挂起。还要确保后台任务正常运行并且不会引发错误。

总的来说,我的建议是,不应仅依赖后台任务来获取信息,因为不能保证它们能够按时完成,因此最好准备好在前台应用程序中下载所需的数据,如下所示出色地。这显然取决于用例:如果在后台任务中获取的数据并不重要,而是更像是锦上添花,那么就不用担心了。

TimeTrigger 要求将应用程序添加到锁定屏幕(请参阅 docs ),但我猜您已经满足此要求,因为您已经成功运行了一次任务。

要调试后台任务,请查看事件查看器,请参阅 detailed instructions 。该页面还包含一些有关常见问题的提示。该文档中提到的事件查看器条目通常是解决 bg 任务执行问题的宝贵资源。我的猜测是,您会看到与未正确关闭任务相关的错误。

关于c# - 如何在 Windows 8 JS Metro 应用程序的后台任务中使用时间触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com