0

在我的windows phone 8应用程序中,我想从服务器周期性地(少于10分钟)刷新/加载一些数据,而应用程序在后台运行(即处于休眠状态和逻辑节点状态)。我尝试了计划任务代理和资源密集型任务代理,但他们以30分钟的差距进行调用。请让我知道是否有任何其他解决方案来实现上述要求。Windows Phone后台应用程序服务

感谢和问候 @nish

+0

该应用程序未在后台运行。所以你不能提出任何API请求。唯一可能的选择是:BackgroundAgent(但它是一个不稳定的解决方案)并推送通知。 –

+0

为什么每30分钟不够? –

回答

0

我是否正确理解您的主要目标是通过让手机定期查询来保持某些主持人会话保持活动状态?如果是这样的话......

我不会推荐这种方法:1)当它试图发送它的查询时,你不能指望具有网络连接的电话。如果用户将电话放在口袋或钱包中,则可能性会恶化。 2)从安全角度来看,这可能很糟糕,并且从主机资源的角度来看是浪费的。

您可以改为向应用程序添加逻辑以尽可能无缝地恢复超时主机会话。这将为通过原始HTTP访问同一主机的移动应用程序价值主张增加真正的实用价值。

1

如果你需要得到的数据更频繁地比在Windows手机提供的默认情况下,你应该考虑使用推送通知。这不适合完整的数据推送,但如果您正确使用它,则可以获得可以与之共存的用户体验。

对此的一种常见方法是设置您的服务器,以在有新内容需要报告时向设备发送通知,而不是每隔10分钟左右推送一次“无任何改变”的消息。例如,如果您推出图块更新通知以说明“您有x个未读项目”,则用户可以点击您的应用程序的图块,并可以在启动/恢复时轮询服务器上的新项目。如果你想要一个更具侵入性的选项,你也可以发送一个Toast通知,但在大多数情况下,更新tile就足够了。

这种方法有几个优点。

  1. 您将无法通过电池供电轮询每隔10分钟,而用户是睡着了
  2. 您的服务器都会有,因为它不必处理每个客户端每10分钟完整的数据请求显著少负荷燃烧。
  3. 这符合电话应用程序的设计理念 - 您将所需数据呈现给用户,同时保持电池寿命。
+0

谢谢,但在我的情况下,这是一个移动启动请求。例如,刷新会话以保持活动/有效。 – MobDev

相关问题