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.
Sicherheit 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:
Erstellen eines SyncOrchestrator-Objekts.
Festlegen der LocalProvider- und RemoteProvider-Eigenschaften des Orchestrators.
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.
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:
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.
Erstellen eines ISyncSession-Objekts. Dies geschieht, indem die IApplicationSyncServices::CreateSyncSession
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.
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