本系列開篇介紹 Microsoft Sync Framework (MSF),該框架允許開發者建立離線應用、裝置與服務,整合任意類型數據。筆者於 TechEd 2008 初識 MSF,現以 ADO.NET 同步 Demo 為例實作演示(文件/資料夾同步留待後文)。
SyncSetup_zh-CHS.x86.zip(MSF v1.0 簡體中文版)。最新版為 Sync Framework v2 CTP1,但暫無中文包且與 v1.0 不互通。
客戶端資料庫與伺服端資料庫之間由兩個 Provider 橋接:
SyncAgent 協調同步過程,關鍵成員:
Synchronize():執行本地與遠程數據同步。LocalProvider / RemoteProvider:分別設定客戶端與伺服端 Provider。SyncTable 定義同步涉及的表之客戶端設定,SyncDirection 枚舉支援 Bidirectional、DownloadOnly、Snapshot、UploadOnly 四種方向。本文示範 Snapshot:每次同步完全刷新客戶端數據集。
syncAgent.Synchronize() 的啟動邏輯。透過精靈即可自動生成上述架構所需的所有類別,無需手寫繁瑣代碼。