2017-02-24 96 views
0

我試圖解決與窮人的互聯網連接和多次斷開連接移動瀏覽器應用與角框架的問題。更新LocalStorage或Azure表存儲第一

這就是這樣Book Collection的應用程序。目前,網絡應用(具有網址)將數據直接保存在雲中的Azure表存儲中。由於互聯網連接較差,該應用無法更新雲存儲。當用戶使用相同的URL再次訪問Web應用程序時,該應用程序會嘗試從Azure表存儲中讀取數據,並且更新的數據不可用。

  • localStorage的在瀏覽器本地保存數據到一個解決這個問題?應用程序是否應該首先在LocalStorage中保存數據,然後更新Azure存儲?在出現故障的情況下,可以從本地存儲中讀取數據。
  • 是否有支持在本地存儲和Azure表存儲之間同步數據的JavaScript庫?
  • 我應該使用LocalStorage還是Azure Table Storage作爲數據真實的來源?
    • 我可以在本地存儲中保存多少數據有限制嗎?
+2

http://stackoverflow.com/questions/2989284/what-is-the-max-size-of-localstorage-values此文章說大約5 MB到10 MB的數據存儲在LocalStorage中。 (取決於瀏覽器) – Sameer

回答

1

是本地存儲在瀏覽器本地保存數據到一個解決這個問題?應用程序是否應該首先在本地存儲中保存數據,然後更新Azure存儲?

是的,如果你想建立一個離線應用程序。您需要在本地保存應用程序數據,然後將數據同步到服務器。本地存儲是基於瀏覽器的應用程序在本地存儲數據的不錯選擇。

是否有任何JavaScript庫支持在本地存儲和Azure表存儲之間同步數據?

到現在爲止,沒有庫可以自動處理這個。您需要重新定義數據結構以將您的數據從本地服務器同步到服務器。我建議你爲本地數據存儲中的每條記錄添加一個名爲synced的標誌。如果一條記錄成功同步到服務器,則synced屬性的值將爲true,否則將爲false。您還需要爲每種類型的數據定義一個同步功能。

我應該使用本地存儲還是Azure表存儲作爲數據真相的來源?

它取決於數據類型。將會有2種類型的數據,應用程序數據和用戶數據。例如,圖書信息屬於應用程序數據。用戶喜歡這本書是否屬於用戶信息。對於用戶信息,我建議您使用本地存儲作爲數據真相的來源。

我可以在本地存儲中保存多少數據有限制嗎?

我們可以發現從薩米爾提供鏈路的限制,這裏是一個片段:每起源

10 MB谷歌瀏覽器(https://plus.google.com/u/0/+FrancoisBeaufort/posts/S5Q9HqDB8bh),Mozilla Firefox瀏覽器和Opera;在Internet Explorer中,每個存儲區域大小爲10 MB