0

在我的应用程序中,我需要定期向服务器发送 Web 请求,以检查驻留在服务器中的文件的更改。我需要在后台发生所有这些。

我需要使用后台任务来实现此功能吗?

或者只是我应该使用定期执行的计时器?

任何人都请提出一种适合这种情况的更好方法。

注意:实现与通知无关。如果文件中的任何更新意味着我需要在本地文件中更新相同的内容。

4

1 回答 1

1

像这样的定期请求将需要后台任务,因为当您的应用程序暂停时,应用程序中的直接计时器不会触发。这里需要注意的是,后台任务的运行频率受到限制。查看如何在计时器上运行后台任务。如果您可以在 15 分钟的最小间隔内生活,那么这是最简单的方法。

另一种方法是使用原始推送通知。原始通知是您的应用程序或其后台任务(再次用于应用程序暂停时)直接处理的通知,除非您作为响应这样做,否则永远不会发出 toast 或 tile 更新。请参阅如何为原始推送通知编写后台任务。这样,您的服务器将进行更改检测并将推送通知发送到关心该文件的应用程序。这样做的好处是能够处理更频繁的更改,并且在更改不频繁时更有效。

您可能还可以为此目的使用内容预取器(请参阅http://blogs.windows.com/buildingapps/2014/05/01/launch-apps-faster-with-prefetched-content/)。在这种情况下,您将对文件本身发出请求,并且预取器将使缓存的副本保持最新。我提到这一点只是为了提高意识......对于您的特定场景,这并不是您想要的,但对于阅读此答案的其他人来说可能是这样。

于 2014-08-06T23:14:06.113 回答