Compartir a través de


Ejemplo de proveedor NTFS administrado

El ejemplo ManagedNTFSProvider muestra cómo puede utilizar C++ o Microsoft Visual Basic para implementar un proveedor de sincronización que sincroniza los archivos de una carpeta de archivos. Por simplicidad, este ejemplo no controla las subcarpetas.

Security noteSeguridad Nota

Este código de ejemplo se proporciona para ilustrar un concepto. Dado que el ejemplo podría no utilizar las prácticas de codificación más seguras, el código no se debería utilizar en aplicaciones o sitios web. Microsoft no asume ninguna responsabilidad debida a daños incidentales o que sea consecuencia del uso del código de ejemplo para fines diferentes al previsto.

Ubicación de los archivos

Los archivos de este ejemplo se encuentran donde está instalado Sync Framework. La ubicación predeterminada es C:\Archivos de programa\Microsoft SDKs\Microsoft Sync Framework\v1.0\Samples\ManagedNTFSSample.

Contenido

Este ejemplo contiene una implementación de C# y de Visual Basic. Ambas son bastante similares. Cada una contiene los proyectos siguientes en una solución de Microsoft Visual Studio:

  • ManagedNTFSProvider: combina una implementación del proveedor de sincronización con una aplicación de sincronización simple.

  • ManagedSampleTest: ejecuta estos componentes para llevar a cabo la sincronización.

Archivos

Implementación de C#

El proyecto ManagedNTFSProvider contiene los archivos siguientes.

Archivo de código fuente Descripción

MetadataStore.cs

Clase de aplicación auxiliar que el ejemplo utiliza para almacenar los metadatos de sincronización en el sistema de archivos.

MyStore.cs

Clase de proveedor de sincronización. Implementa KnowledgeSyncProvider, IChangeDataRetriever y INotifyingChangeApplierTarget para participar en la sincronización.

MyTransferMechanism.cs

Clase que encapsula una secuencia de archivo. Esta secuencia de archivo se pasa de un proveedor a otro para que se pueda usar con el fin de copiar los datos de los archivos reales durante la sincronización.

MySyncController.cs

Clase que crea y hospeda el objeto de sesión de sincronización.

El proyecto ManagedSampleTest contiene el archivo siguiente.

Archivo de código fuente Descripción

Program.cs

Punto de entrada a la aplicación. Analiza la línea de comandos, crea instancias de los proveedores y el objeto de controlador, los conecta todos entre sí e inicia la sincronización.

Implementación de Visual Basic

El proyecto ManagedNTFSProvider contiene los archivos siguientes.

Archivo de código fuente Descripción

MetadataStore.vb

Clase de aplicación auxiliar que el ejemplo utiliza para almacenar los metadatos de sincronización en el sistema de archivos.

MyStore.vb

Clase de proveedor de sincronización. Implementa KnowledgeSyncProvider, IChangeDataRetriever y INotifyingChangeApplierTarget para participar en la sincronización.

MyTransferMechanism.vb

Clase que encapsula una secuencia de archivo. Esta secuencia de archivo se pasa de un proveedor a otro para que se pueda usar con el fin de copiar los datos de los archivos reales durante la sincronización.

MySyncController.vb

Clase que crea y hospeda el objeto de sesión de sincronización.

El proyecto ManagedSampleTest contiene el archivo siguiente.

Archivo de código fuente Descripción

Program.vb

Punto de entrada a la aplicación. Analiza la línea de comandos, crea instancias de los proveedores y el objeto de controlador, los conecta todos entre sí e inicia la sincronización.

Interfaces

En este ejemplo se demuestran las interfaces y clases de Sync Framework siguientes:

KnowledgeSyncProvider

ItemChange

IChangeDataRetriever

INotifyingChangeApplierTarget

NotifyingChangeApplier

SyncProvider

LoadChangeContext

SyncKnowledge

SaveChangeContext

ForgottenKnowledge

SyncOrchestrator

ChangeBatch

 

Requisitos

Para generar y ejecutar este ejemplo, se debe instalar el software siguiente:

  • Microsoft Visual Studio 2005 o Visual Studio 2008

  • Microsoft .NET Framework 2.0 o .NET Framework 3.0

Generar el ejemplo

Para generar el ejemplo con Visual Studio

  1. Abra el archivo ManagedNTFSProvider.sln.

  2. En el menú Generar, seleccione Generar solución.

Ejecutar el ejemplo

Para ejecutar ManagedSampleTest.exe

  1. En la carpeta raíz, cree dos carpetas: Folder1 y Folder2.

  2. Agregue contenido, por ejemplo archivos de texto, a las carpetas. Asegúrese de que el contenido de Folder1 difiere del de Folder2.

  3. Para ejecutar el ejemplo en un símbolo del sistema, abra una ventana de símbolo del sistema y busque la carpeta que contiene el archivo ManagedSampleTest.exe. En el símbolo del sistema, escriba: ManagedSampleTest.exe C:\Folder1 C:\Folder2.

  4. Para ejecutar el ejemplo en Visual Studio, abra las Páginas de propiedades para el proyecto ManagedSampleTest. En el campo Debug Command line arguments, escriba: C:\Folder1 C:\Folder2. En el menú Depurar, haga clic en Iniciar depuración.

  5. Cuando el ejemplo finaliza, Folder1 y Folder2 contienen el mismo conjunto de archivos. Las carpetas también contienen archivos que incluyen los metadatos de sincronización, como Knowledge.Sync, Metadata.Sync, Replica.Sync y TickCount.Sync.

Vea también

Referencia

Microsoft.Synchronization

Otros recursos

Ejemplos de sincronización de datos personalizados