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

相關問題