Microsoft Sync Frameworks簡稱MSF,是一個綜合的同步平臺,MSF支持應用程序,服務,設備的在線以及離線同步。MSF主要有如下幾個部件組成: * Sync Services for ADO.NET: 同步ADO.NET的數據 * Sync Services for FeedSync: 同步 RSS 和 ATOM 種子 * Sync Services for File Systems: 同步文件和文件夾 * Sync Framework Core Runtime: 客戶化的同步方案,支持native code。html
本文主要講述如何快速創建一個Sync Services for ADO.NET的應用進行數據同步。因爲在PC的winform項目能夠在使用嚮導快速創建同步程序,因此本文先介紹PC的webform程序上的 Sync Services for ADO.NET開發,陸續會介紹移動設備上的開發,這也是我最關心的部分。web
請到如下連接下載 Microsoft Synchronization Services for ADO.NET。 Microsoft Synchronization Services for ADO.NET本地緩存數據須要使用SQL CE 3.5,不能支持SQL CE 3.0。SQL CE 3.5和3.0的差別能夠參考 .NET Campact Framework下SQL CE兼容性問題數據庫
先創建一個PC的winform程序。右鍵項目新建「New Item」,通過了Microsoft Synchronization Services for ADO.NET 的安裝,新建嚮導會出現「Local Database Cache」,選擇該類型。緩存
圖1服務器
這個文件能夠創建服務器與本地數據庫的同步關係,服務器數據庫能夠爲支持ADO.NET的任何數據庫,我使用免費的SQL Server Express,本地數據庫是SQL CE 3.5,能夠不用手工創建,嚮導程序根據服務器數據自動生成本地數據庫。SQL Server Express的下載安裝能夠參考 SQL Server Express和SQL Server Compact的應用 在SQL Server Express上創建一個庫叫作TestDB,創建兩個表,表結構以下: 函數
圖2測試
配置完數據庫服務器後,能夠選擇「Add」增長鬚要同步的表,在例子中選擇t1和t2。this
圖3spa
若是數據表屬於下面的狀況,那麼就不能顯示出來進行選擇: 1.不是用戶默認的原數據(user’s default schema)。 2.沒有定義主鍵。 3.名字長於118個字符。 4.字段中有SQL CE 3.5不支持的數據類型。3d
在默認選擇下向導會爲原始表自動增長LastEditDate和CreationDate自動。同時增長數據表 (原表名_TombStone)。
在增長同步數據表完畢後,嚮導自動彈出增長數據源(DataSet)的嚮導,填寫DataSet的名字,選擇因此表格和字段。
圖4
系統會自動的生成處理類和數據類,以下圖
圖5
在程序中增長Load事件處理函數和增長一個按鈕以及處理函數,添加代碼以下:
一個從server同步到本地SQL CE的程序完成了。
TestDbDataSet: 表示一個強類型的內存數據緩存。 t1TableAdapter 表示用於取數據庫和保存數據的connection和commands。 TableAdapterManager 用於協助TableAdapters之間關聯關係的更新(Hierarchical Update)。
在SQL Server Express裏的t1表格增長些數據,以下
圖6
運行程序,點擊同步按鈕進行同步。
在VS2008打開SQL CE數據庫,你會發現SQL CE庫的數據和SQL Server Express裏的t1表格如出一轍。
修改,刪除SQL Server Express裏的t1表格的數據,進行再測試,也會發現SQL CE庫同步在服務器上的數據。