Freigeben über


Synchronisierungsanwendungen

Eine Synchronisierungsanwendung ist eine Softwarekomponente, die eine Synchronisierungssitzung erstellt, sie mit zwei Anbietern verbindet, sie zum Starten der Synchronisierung verwendet und während der Synchronisierung Sync Framework hostet. Die Synchronisierungsanwendung registriert zudem die zu bearbeitenden Ereignisse, die von Sync Framework zurückgemeldet werden.

Hinweis

Sync Framework deckt weder das Abrufen und Instanziieren der Anbieter für eine Anwendung ab, noch die Methode, mit der von der Anwendung festgestellt wird, dass ein Anbieter eine Synchronisierung anfordert, und mit welchem Anbieter synchronisiert werden soll.

Implementieren einer Synchronisierungsanwendung

Eine Synchronisierungsanwendung kann mit verwaltetem oder nicht verwaltetem Code implementiert werden.

Security noteSicherheit Hinweis

Sync Framework behandelt Synchronisierungsanbieter als vertrauenswürdigen Code. Aus diesem Grund muss für eine Anwendung, die einen Synchronisierungsanbieter aufruft, sichergestellt werden, dass der Anbieter vertrauenswürdig ist, und zwar durch explizites Wissen über den Anbieter oder durch die Verwendung eines anderen Mechanismus, z. B. einer digitalen Signatur.

Implementieren einer Synchronisierungsanwendung mit verwaltetem Code

Eine Synchronisierungssitzung wird von einer Anwendung durch Ausführen der folgenden Schritte erstellt und gestartet:

  1. Erstellen eines SyncOrchestrator-Objekts.

  2. Festlegen der LocalProvider- und RemoteProvider-Eigenschaften des Orchestrators.

  3. Festlegen der Direction-Eigenschaft des Orchestrators für die passende Synchronisierungsrichtung. Für die Richtung Upload ist das LocalProvider-Objekt die Quelle, und das RemoteProvider-Objekt ist das Ziel. Für die Richtung Download ist das LocalProvider-Objekt das Ziel, und das RemoteProvider-Objekt ist die Quelle. Beachten Sie, dass die bidirektionale Synchronisierung mit DownloadAndUpload oder UploadAndDownload ausgeführt werden kann.

  4. Aufrufen der Synchronize-Methode des Orchestrators. Diese erstellt eine Sitzung für die Anwendung, die alle zusätzlichen Synchronisierungstasks bearbeitet. Wenn die Synchronisierung durch die Anwendung abgebrochen werden soll, kann die Cancel-Methode aufgerufen werden.

Implementieren einer Synchronisierungsanwendung mit nicht verwaltetem Code

Ein Synchronisierungssitzungsobjekt wird von einer Anwendung durch Ausführen der folgenden Schritte erstellt und gestartet:

  1. Erstellen eines IApplicationSyncServices-Objekts. Dies geschieht durch Aufrufen einer CoCreateInstance und deren Übergabe an CLSID_SyncServices für eine CLSID, und an IID_IApplicationSyncServices für eine IID.

  2. Erstellen eines ISyncSession-Objekts. Dies geschieht, indem die IApplicationSyncServices::CreateSyncSession -Methode aufgerufen wird. Dieser Methode werden zwei Anbieter übergeben: einer als Zielanbieter und einer als Quellenanbieter.

  3. Aufrufen der ISyncSession::Start-Methode. Anschließend werden alle zusätzlichen Synchronisierungstasks von Sync Framework bearbeitet. Wenn die Synchronisierung abgebrochen werden soll, kann die ISyncSession::Cancel-Methode aufgerufen werden.

  4. Nachdem die Synchronisierungssitzung abgeschlossen ist, kann durch Erstellen eines weiteren Sitzungsobjekts eine bidirektionale Synchronisierung ausgeführt werden, indem die Auswahl der Quellen- und Zielanbieter umgekehrt, und für das neue Sitzungsobjekt ISyncSession::Start aufgerufen wird.

Weitere Informationen zur Erstellung einer Synchronisierungsanwendung finden Sie unter Gewusst wie: Erstellen einer nicht verwalteten Synchronisierungsanwendung.

Synchronisierungsereignisse

Eine Anwendung kann während der Synchronisierung über verschiedene Ereignisse benachrichtigt werden. Die zwei Hauptgründe für die Bearbeitung von Ereignissen sind die Statusverfolgung und die Implementierung benutzerdefinierter Konfliktbehandlung.

Verwalteter Code Implementieren Sie Ereignishandlermethoden, und registrieren Sie diese beim SyncOrchestrator-Objekt oder bei einem SyncCallbacks-Objekt.

Nicht verwalteter Code Verwenden Sie die ISyncSession::RegisterCallback-Methode, um ein Objekt zu registrieren, das die ISyncCallback-Schnittstelle implementiert.

Weitere Informationen finden Sie unter Antworten auf Synchronisierungsereignisse.

Siehe auch

Verweis

IApplicationSyncServices-Schnittstelle
ISyncSession-Schnittstelle
ISyncCallback-Schnittstelle
SyncOrchestrator
SyncCallbacks

Konzepte

Grundlagen der Datensynchronisierung
Antworten auf Synchronisierungsereignisse

Weitere Ressourcen

Microsoft Sync Framework