Exemple de fournisseur NTFS managé

L'exemple ManagedNTFSProvider vous explique comment utiliser C# ou Microsoft Visual Basic pour implémenter un fournisseur de synchronisation qui synchronise les fichiers dans un dossier de fichiers. À des fins de simplicité, cet exemple ne gère pas les sous-dossiers.

Security noteSécurité Remarque

Cet exemple de code est fourni pour illustrer un concept. Dans la mesure où il est possible que l'exemple n'utilise pas les pratiques de codage les plus sécurisées, le code ne doit pas être utilisé dans les applications ou les sites Web. Microsoft décline toute responsabilité pour tout dommage indirect ou consécutif si l'exemple de code est utilisé à des fins autres que celles prévues.

Emplacement des fichiers

Les fichiers de cet exemple se trouvent à l'emplacement où Sync Framework est installé. L'emplacement par défaut est C:\Program Files\Microsoft SDKs\Microsoft Sync Framework\v1.0\Samples\ManagedNTFSSample.

Contenu

Cet exemple contient une implémentation C# et une implémentation Visual Basic. Celles-ci sont assez semblables. Chacune contient les projets suivants dans une solution Microsoft Visual Studio :

  • ManagedNTFSProvider Associe une implémentation de fournisseur de synchronisation à une application de synchronisation simple

  • ManagedSampleTest Exécute ces composants pour effectuer la synchronisation.

Fichiers

Implémentation C#

Le projet ManagedNTFSProvider contient les fichiers suivants.

Fichier source Description

MetadataStore.cs

Classe d'assistance que l'exemple utilise pour stocker les métadonnées de synchronisation dans le système de fichiers.

MyStore.cs

Classe du fournisseur de synchronisation. Implémente KnowledgeSyncProvider, IChangeDataRetriever et INotifyingChangeApplierTarget pour participer à la synchronisation.

MyTransferMechanism.cs

Classe qui encapsule un flux de fichiers. Ce flux de fichiers est passé d'un fournisseur à un autre afin qu'il puisse être utilisé pour copier les données réelles du fichier pendant la synchronisation.

MySyncController.cs

Classe qui crée et héberge l'objet de session de synchronisation.

Le projet ManagedSampleTest contient le fichier suivant.

Fichier source Description

Program.cs

Point d'entrée à l'application. Il analyse la ligne de commande, instancie les fournisseurs et l'objet contrôleur, les connecte tous entre eux, puis démarre la synchronisation.

Implémentation Visual Basic

Le projet ManagedNTFSProvider contient les fichiers suivants.

Fichier source Description

MetadataStore.vb

Classe d'assistance que l'exemple utilise pour stocker les métadonnées de synchronisation dans le système de fichiers.

MyStore.vb

Classe du fournisseur de synchronisation. Implémente KnowledgeSyncProvider, IChangeDataRetriever et INotifyingChangeApplierTarget pour participer à la synchronisation.

MyTransferMechanism.vb

Classe qui encapsule un flux de fichiers. Ce flux de fichiers est passé d'un fournisseur à un autre afin qu'il puisse être utilisé pour copier les données réelles du fichier pendant la synchronisation.

MySyncController.vb

Classe qui crée et héberge l'objet de session de synchronisation.

Le projet ManagedSampleTest contient le fichier suivant.

Fichier source Description

Program.vb

Point d'entrée à l'application. Il analyse la ligne de commande, instancie les fournisseurs et l'objet contrôleur, les connecte tous entre eux, puis démarre la synchronisation.

Interfaces

Cet exemple illustre les classes et interfaces Sync Framework suivantes :

KnowledgeSyncProvider

ItemChange

IChangeDataRetriever

INotifyingChangeApplierTarget

NotifyingChangeApplier

SyncProvider

LoadChangeContext

SyncKnowledge

SaveChangeContext

ForgottenKnowledge

SyncOrchestrator

ChangeBatch

 

Spécifications

Pour générer et exécuter cet exemple, les logiciels suivants doivent être installés :

  • Microsoft Visual Studio 2005 ou Visual Studio 2008

  • Microsoft .NET Framework 2.0 ou .NET Framework 3.0

Génération de l'exemple

Pour générer l'exemple à l'aide de Visual Studio

  1. Ouvrez le fichier ManagedNTFSProvider.sln.

  2. Dans le menu Générer, sélectionnez BuildSolution.

Exécution de l'exemple

Pour exécuter ManagedSampleTest.exe

  1. Dans le dossier racine, créez deux dossiers : Folder1 et Folder2.

  2. Ajoutez du contenu, tel que des fichiers texte, aux dossiers. Assurez-vous que le contenu de Folder1 est différent du contenu de Folder2.

  3. Pour exécuter l'exemple à une invite de commandes, ouvrez une fenêtre d'invite de commandes et localisez le dossier qui contient ManagedSampleTest.exe. À l'invite de commandes, tapez : ManagedSampleTest.exe C:\Folder1 C:\Folder2.

  4. Pour exécuter l'exemple dans Visual Studio, ouvrez les Pages de propriétés pour le projet ManagedSampleTest. Dans le champ Débogage Arguments de la commande, tapez : C:\Folder1 C:\Folder2. Dans le menu Déboguer, cliquez sur Démarrer le débogage.

  5. Une fois l'exemple terminé, Folder1 et Folder2 contiennent le même ensemble de fichiers. Les dossiers incluent également des fichiers qui contiennent des métadonnées de synchronisation, par exemple Knowledge.Sync, Metadata.Sync, Replica.Sync et TickCount.Sync.

Voir aussi

Référence

Microsoft.Synchronization

Autres ressources

Exemples de synchronisation de données personnalisées