撰寫一般用戶端和伺服器同步處理工作
本節的下列主題提供您可以使用 Sync Framework 執行之一般用戶端和伺服器同步處理工作的背景資訊、程序內容和完整程式碼範例。建議您先閱讀有關伺服器資料庫中追蹤變更的 HOW-TO 主題,接著至少閱讀一個有關同步處理方向的主題,然後再開始閱讀其他主題。
本章節內容
HOW-TO 主題中的範例應用程式
每個 HOW-TO 主題包含最少一個主控台應用程式 (Console Application)。此應用程式是以 C# 和 Visual Basic 寫成,可以示範 API 的某些特定功能。所有包含要在同一時間進行同步 (Synchronize) 的程式碼的應用程式,需適當地變更用戶端和伺服器,然後再同步一次。雖然只為特定工作或功能示範程式碼範例的方式會比較迅速,但是如果您能在相當完整的內容中查看一項特定功能,會更容易了解 Sync Framework 的運作方式。
每個應用程式都包含下列類別,以及其他與描述的功能相關的類別:
Program
:此類別會設定同步處理,並從Utility
類別呼叫方法。Utility
類別處理所有與同步處理沒有直接關聯的功能,例如保留連接字串資訊,以及對伺服器和用戶端資料庫進行變更。SampleSyncAgent
此類別衍生自 SyncAgent。SampleServerSyncProvider
此類別衍生自 DbServerSyncProvider。在範例中,如果伺服器提供者的命令是相關的,則命令會以手動指定。在其他情況下,系統會使用 SqlSyncAdapterBuilder 類別,因為它需要的程式碼較少。如需服務提供者命令的詳細資訊,請參閱 HOW TO:指定快照集、下載、上傳及雙向同步處理。SampleClientSyncProvider
此類別衍生自 SqlCeClientSyncProvider。
所有完整的應用程式皆為兩層式,以避免必須使用服務來執行應用程式。不過,程式碼會分成獨立的類別,讓您比較容易看見應用程式如何套用程式碼至 N 層式情節。如需有關 N 層式應用程式的詳細資訊,請參閱 HOW TO:設定 N 層式同步處理。
所有應用程式的程式碼都已在 Visual Studio 2008、SQL Server Compact Service Pack 1, SQL Server 2005 Service Pack 2 和 SQL Server 2008 上測試過。
若要執行每個應用程式
執行資料庫提供者的安裝指令碼 HOW-TO 主題中的「自訂離線情況的變更追蹤」Transact-SQL 指令碼。這套指令碼會建立一個資料庫、一組資料表和觸發程序,以及一組預存程序。若要刪除後重新插入範例資料,請使用
usp_InsertSampleData
預存程序。複製資料庫提供者公用程式類別的 HOW-TO 主題中的
Utility
類別程式碼。將此程式碼貼入您想要執行的應用程式中,或是從程式碼中建立 DLL,然後從每個應用程式中參考該 DLL。加入參考至下列 DLL:
Microsoft.Synchronization.dll
Microsoft.Synchronization.Data.dll
Microsoft.Synchronization.Data.Server.dll
Microsoft.Synchronization.Data.SqlServerCe.dll
System.Data.SqlServerCe.dll