Esempio di provider NTFS gestito
Nell'esempio ManagedNTFSProvider viene illustrato come utilizzare C# o Microsoft Visual Basic per implementare un provider di sincronizzazione che sincronizza file in una cartella di file. Per semplicità, in questo esempio non vengono gestite le sottocartelle.
Sicurezza Nota |
---|
Questo codice di esempio viene fornito per illustrare un concetto. Poiché l'esempio potrebbe non utilizzare le procedure di codifica più sicure, il codice non deve essere utilizzato in applicazioni o siti Web. Microsoft non si assume responsabilità per danni incidentali o consequenziali nel caso in cui il codice di esempio venisse utilizzato per scopi diversi da quelli previsti. |
Percorso del file
I file di questo esempio si trovano nel percorso in cui è installato Sync Framework. Il percorso predefinito è C:\Programmi\Microsoft SDKs\Microsoft Sync Framework\v1.0\Samples\ManagedNTFSSample.
Contenuto
Questo esempio contiene un'implementazione di C# e di Visual Basic, piuttosto simili tra loro. Ognuna contiene i progetti seguenti in una soluzione di Microsoft Visual Studio:
ManagedNTFSProvider Combina un'implementazione del provider di sincronizzazione con un'applicazione di sincronizzazione semplice.
ManagedSampleTest Esegue questi componenti per eseguire la sincronizzazione.
File
Implementazione di C#
Il progetto ManagedNTFSProvider contiene i file seguenti.
File di origine | Descrizione |
---|---|
MetadataStore.cs |
Classe helper utilizzata nell'esempio per archiviare i metadati per la sincronizzazione nel file system. |
MyStore.cs |
Classe del provider di sincronizzazione. Implementa KnowledgeSyncProvider, IChangeDataRetriever e INotifyingChangeApplierTarget affinché partecipino alla sincronizzazione. |
MyTransferMechanism.cs |
Classe che incapsula un flusso di file. Questo flusso di file viene passato da un provider all'altro in modo da poter essere utilizzato per copiare i dati effettivi del file durante la sincronizzazione. |
MySyncController.cs |
Classe che crea e ospita l'oggetto della sessione di sincronizzazione. |
Il progetto ManagedSampleTest contiene il seguente file.
File di origine | Descrizione |
---|---|
Program.cs |
Punto di ingresso dell'applicazione. Analizza la riga di comando, crea un'istanza dei provider e dell'oggetto controller, li connette tra loro e avvia la sincronizzazione. |
Implementazione di Visual Basic
Il progetto ManagedNTFSProvider contiene i file seguenti.
File di origine | Descrizione |
---|---|
MetadataStore.vb |
Classe helper utilizzata nell'esempio per archiviare i metadati per la sincronizzazione nel file system. |
MyStore.vb |
Classe del provider di sincronizzazione. Implementa KnowledgeSyncProvider, IChangeDataRetriever e INotifyingChangeApplierTarget affinché partecipino alla sincronizzazione. |
MyTransferMechanism.vb |
Classe che incapsula un flusso di file. Questo flusso di file viene passato da un provider all' altro in modo da poter essere utilizzato per copiare i dati effettivi del file durante la sincronizzazione. |
MySyncController.vb |
Classe che crea e ospita l'oggetto della sessione di sincronizzazione. |
Il progetto ManagedSampleTest contiene il seguente file.
File di origine | Descrizione |
---|---|
Program.vb |
Punto di ingresso dell'applicazione. Analizza la riga di comando, crea un'istanza dei provider e dell'oggetto controller, li connette tra loro e avvia la sincronizzazione. |
Interfacce
In questo esempio vengono illustrate le classi e le interfacce Sync Framework seguenti:
KnowledgeSyncProvider |
|
IChangeDataRetriever |
|
INotifyingChangeApplierTarget |
|
|
Requisiti
Per generare ed eseguire questo esempio, è necessario installare il software seguente:
Microsoft Visual Studio 2005 o Visual Studio 2008
Microsoft .NET Framework 2.0 o .NET Framework 3.0
Compilazione dell'esempio
Per compilare l'esempio tramite Visual Studio
Aprire il file ManagedNTFSProvider.sln.
Scegliere Compila soluzione dal menu Compila.
Esecuzione dell'esempio
Per eseguire ManagedSampleTest.exe
Nella cartella radice, creare due cartelle: Folder1 e Folder2.
Aggiungere contenuto, ad esempio file di testo, alle cartelle. Verificare che il contenuto di Folder1 sia diverso da quello di Folder2.
Per eseguire l'esempio al prompt dei comandi, aprire una finestra del prompt dei comandi e individuare la cartella contenente ManagedSampleTest.exe. Al prompt dei comandi, digitare: ManagedSampleTest.exe C:\Folder1 C:\Folder2.
Per eseguire l'esempio in Visual Studio, aprire Pagine delle proprietà per il progetto ManagedSampleTest. Nel campo Debug argomenti riga di comando, digitare: C:\Folder1 C:\Folder2. Scegliere Avvia debug dal menu Debug.
Alla fine dell'esempio, Folder1 e Folder2 conterranno lo stesso set di file. Le cartelle contengono inoltre i file contenenti i metadati per la sincronizzazione, ad esempio Knowledge.Sync, Metadata.Sync, Replica.Sync e TickCount.Sync.