Partager via


Implémentation d'une application de synchronisation

Une application de synchronisation est un composant logiciel qui crée une session de synchronisation, la connecte avec deux fournisseurs de synchronisation, l'utilise pour démarrer la synchronisation et héberge Sync Framework pendant la synchronisation. L'application de synchronisation peut également être inscrite pour gérer les événements signalés par Sync Framework.

Notes

Sync Framework n'explique pas comment une application obtient et instancie des fournisseurs, ni comment l'application détermine qu'un fournisseur demande une synchronisation et avec quel fournisseur il souhaite effectuer cette synchronisation.

Implémentation d'une application de synchronisation

Une application de synchronisation peut être implémentée en utilisant du code managé ou non managé.

Remarque relative à la sécuritéRemarque relative à la sécurité

Sync Framework considère les fournisseurs de synchronisation comme du code approuvé. Par conséquent, une application qui appelle un fournisseur de synchronisation doit établir que celui-ci est approuvé en ayant une connaissance explicite du fournisseur ou à l'aide d'un autre mécanisme, par exemple une signature numérique.

Implémentation d'une application de synchronisation en utilisant le code managé

Une application crée et démarre une session de synchronisation en effectuant les opérations suivantes :

  1. Crée un objet SyncOrchestrator.

  2. Définit les propriétés LocalProvider et RemoteProvider de l'orchestrateur.

  3. Affecte la direction de synchronisation appropriée à la propriété Direction de l'orchestrateur. Dans la direction Upload, l'objet LocalProvider est la source et l'objet RemoteProvider est la destination. Dans la direction Download, l'objet LocalProvider est la destination et l'objet RemoteProvider est la source. Gardez à l'esprit que la synchronisation bidirectionnelle peut être effectuée en utilisant DownloadAndUpload ou UploadAndDownload.

  4. Appelle la méthode Synchronize de l'orchestrateur. Une session pour le compte de l'application qui gérera toutes les tâches de synchronisation supplémentaires est ainsi créée. Si l'application souhaite annuler la synchronisation, elle peut appeler la méthode Cancel.

Implémentation d'une application de synchronisation en utilisant le code non managé

Une application crée et démarre un objet de session de synchronisation en effectuant les opérations suivantes :

  1. Crée un objet IApplicationSyncServices. Cette opération est effectuée en appelant CoCreateInstance et en lui passant CLSID_SyncServices pour le CLSID et IID_IApplicationSyncServices pour l'IID.

  2. Crée un objet ISyncSession. Cette opération est effectuée en appelant la méthode IApplicationSyncServices::CreateSyncSession. Deux fournisseurs sont passés à cette méthode : l'un comme fournisseur de destination et l'autre comme fournisseur de source.

  3. Appelle la méthode ISyncSession::Start. Ensuite, Sync Framework gère toutes les tâches de synchronisation supplémentaires. Si l'application souhaite annuler la synchronisation, la méthode ISyncSession::Cancel peut être appelée.

  4. Une fois la synchronisation terminée, la synchronisation bidirectionnelle peut être accomplie en créant un autre objet de session, en inversant les fournisseurs de source et de destination, puis en appelant ISyncSession::Start sur le nouvel objet de session.

Pour plus d'informations sur la création d'une application de synchronisation, consultez Procédure : créer une application de synchronisation non managée.

Événements de synchronisation

Une application peut être inscrite pour être avertie des différents événements lors de la synchronisation. Les deux raisons principales de gérer les événements sont le suivi de la progression et l'implémentation de la gestion des conflits personnalisée.

Code managé Implémentez les méthodes du gestionnaire d'événements et enregistrez-les avec l'objet SyncOrchestrator ou un objet SyncCallbacks.

Code non managé Utilisez la méthode ISyncSession::RegisterCallback pour inscrire un objet qui implémente l'interface ISyncCallback.

Pour plus d'informations, consultez Réponse aux événements de synchronisation.

Voir aussi

Référence

SyncOrchestrator

SyncCallbacks

Autres ressources

Microsoft Sync Framework

Principes de base des fournisseurs personnalisés

Réponse aux événements de synchronisation

Interface IApplicationSyncServices

Interface ISyncSession

Interface ISyncCallback