實作同步處理應用程式
同步處理應用程式是一種軟體元件,它會建立同步處理工作階段、將它與兩個同步處理提供者連接,並使用它來啟動同步處理,然後在同步處理期間裝載 Sync Framework。同步處理應用程式也可以註冊,以處理由 Sync Framework 回報的事件。
注意
Sync Framework 不涵蓋應用程式取得及具現化提供者的方式,也不涵蓋應用程式判斷提供者要求同步處理以及所要同步處理對象之提供者的方式。
實作同步處理應用程式
同步處理應用程式可以透過使用 Managed 或 Unmanaged 程式碼進行實作。
安全性附註 |
---|
Sync Framework 將同步處理提供者視為信任的程式碼。因此,叫用同步處理提供者的應用程式必須透過具有提供者的明確知識,或透過使用一些其他機制 (如數位簽名),確立提供者是受信任的。 |
使用 Managed 程式碼實作同步處理應用程式
應用程式會透過執行下列作業,建立及啟動同步處理工作階段:
建立 SyncOrchestrator 物件。
設定協調者的 LocalProvider 和 RemoteProvider 屬性。
將協調者的 Direction 屬性設定為適當的同步處理方向。在 Upload 方向中,LocalProvider 物件是來源,而 RemoteProvider 物件則是目的地。在 Download 方向中,LocalProvider 物件是目的地,而 RemoteProvider 物件則是來源。請注意,雙向同步處理可以透過使用 DownloadAndUpload 或 UploadAndDownload 來執行。
呼叫協調者的 Synchronize 方法。這會代表要處理所有其他同步處理工作的應用程式建立工作階段。如果應用程式要取消同步處理,可以呼叫 Cancel 方法。
使用 Unmanaged 程式碼實作同步處理應用程式
應用程式會透過執行下列作業,建立及啟動同步處理工作階段物件:
建立 IApplicationSyncServices 物件。這是透過呼叫 CoCreateInstance,並傳遞 CLSID_SyncServices 做為 CLSID,而傳遞 IID_IApplicationSyncServices 做為 IID 來完成。
建立 ISyncSession 物件。這是透過呼叫 IApplicationSyncServices::CreateSyncSession
呼叫 ISyncSession::Start 方法。然後,Sync Framework 就會處理所有其他同步處理工作。如果應用程式要取消同步處理,可以呼叫 ISyncSession::Cancel 方法。
同步處理完成以後,雙向同步處理可以透過下列步驟完成:建立其他工作階段物件,將來源提供者和目的地提供者對調,然後在新工作階段物件上呼叫 ISyncSession::Start。
如需如何建立同步處理應用程式的詳細資訊,請參閱 HOW TO:建立 Unmanaged 同步處理應用程式。
同步處理事件
應用程式可以註冊,要接到在同步處理期間各種事件的通知。要處理事件的兩大理由是:追蹤進度和實作自訂衝突處理。
Managed 程式碼:實作事件處理常式方法,然後以 SyncOrchestrator 物件或 SyncCallbacks 物件註冊。
Unmanaged 程式碼:使用ISyncSession::RegisterCallback 方法,註冊實作 ISyncCallback 介面的物件。
如需詳細資訊,請參閱 回應同步處理事件。
請參閱
參考
IApplicationSyncServices 介面
ISyncSession 介面
ISyncCallback 介面
SyncOrchestrator
SyncCallbacks