2012-09-18 54 views
1

我需要諮詢一些關於脫機Web應用程序和數據庫同步的建議。脫機Web應用程序和數據庫同步

離線情景

我們有一個網站(HTML5),需要在離線模式中的時間與複雜的數據長時間操作,該產品所有者不希望投入到本地存儲的數據。

我看到它有兩個選項;

  1. 使用JavaScript來檢測,如果我們offlline如果是這樣指向的URL到複製堆棧在數據中心,並寫入到離線DB

◦Biggest絆腳石是本地Web服務器如何,在第一次加載時,如果您處於脫機狀態,您是否獲得本地Web服務器的位置(URL)?即用戶進入www.xyz.com,但是你下線如此

問題1:如何通過JavaScript他重定向到localhost.xyz.com對於第一次調用

  1. 點在客戶端的所有呼叫,脫機或不WCF服務,在網卡檢查脫機狀態,每個網絡和服務調用到正確的地方 ◦seems就像一個大作業重定向,

問題2:是否有任何產品/開源項目你們知道這是否是這樣嗎?

同步情景

•他們想用MS同步框架

◦But他們有很多客戶同步到不同的數據庫,讓你無論是需要每個客戶端1個同步服務或一些方法來確定誰的客戶端同步是並把它們指向正確的地方

◦Need以最小化同步的其他客戶端中的鎖定同步

期間所使用的相同的表

問題3:可以同步框架擴展到e ven do this 問題4:MS平臺上的數據庫同步存在其他選項嗎?

感謝

+0

什麼使你相信Sync框架喜歡鎖表? –

+0

編輯 - 刪除了「喜歡鎖定表格」,它鎖定的內容不超過任何其他編輯/添加到關係數據庫。 – MetalLemon

回答

1

如果用戶將URL輸入瀏覽器,他們會去那個網址。這一點上沒有JavaScript。一旦加載頁面,您將只擁有Javascript。你將不得不尋找更好的解決方案。

這是一個想法:用戶總是去本地網站,如果遠程站點啓動,那麼你重定向它們。

在MS同步方面,我不知道它是什麼,所以我不能幫你。

+0

這是一個好主意,你可以隱藏用戶的離線在線複雜性! – MetalLemon

0

Re MS平臺上的數據庫同步存在其他選項:還有SQL Azure Data Sync,一個Windows Azure Web服務。它實際上建立在您引用的Microsoft Sync Framework上。

Leonard Lobel在書「編程Microsoft SQL Server 2012」中有一個示例& Andrew Brust(MS Press) - 第13章介紹了構建偶爾連接的SQL Azure Data Sync,Windows Azure和Windows Phone 7的系統開發平臺。在示例解決方案中,在後端,使用SQL Azure Data Sync將內部部署的SQL Server數據庫與雲中面向公衆的SQL Azure數據庫保持同步。雲數據庫使用WCF數據服務(通過部署到Windows Azure也託管在雲中)公開,並通過在Windows Phone 7設備上運行的移動客戶端應用程序通過OData使用。本章中詳細介紹的示例解決方案演示了這些技術如何運行,以保持內部SQL Server,雲中的SQL Azure數據庫以及Windows Phone 7設備上的本地存儲的數據同步。

0

Sync Framework在同步時不會鎖定表。

根據您要在客戶端上使用的客戶端數據庫,您可以使用與MS數據庫(SQL CE,SQL Express,LocalDB,SQL Server,SQL Azure)配合使用的Sync Framework本身,也可以使用Sync Framework Toolkit

無論您選擇哪個平臺,我都會建議您直接寫入本地商店並進行同步,而不是動態選擇使用哪個商店。

例如,如果您脫機並且您寫信給本地商店。那麼您的網絡監視器會檢測到您已重新聯機並將您重定向到在線服務,那麼您將如何處理本地存儲的數據?或者你在線交易,你突然離線,本地商店有多近期/更新是否真的開始工作呢?

相關問題