Implementar una aplicación de sincronización
Una aplicación de sincronización es un componente de software que crea una sesión de sincronización, la conecta con dos proveedores de sincronización, la utiliza para iniciar la sincronización y hospeda Sync Framework durante la sincronización. La aplicación de sincronización también se puede registrar para controlar los eventos notificados por Sync Framework.
Nota
Sync Framework no trata el modo en que una aplicación obtiene y crea instancias de los proveedores, ni el modo en que la aplicación determina que un proveedor está solicitando la sincronización y con qué proveedor desea sincronizarse.
Implementar una aplicación de sincronización
Una aplicación de sincronización se puede implementar utilizando código administrado o no administrado.
Seguridad Nota |
---|
Sync Framework trata los proveedores de sincronización como código de confianza. Por consiguiente, una aplicación que llama a un proveedor de sincronización debe establecer que el proveedor sea de confianza, ya sea teniendo el conocimiento explícito del proveedor o utilizando algún otro mecanismo, como una firma digital. |
Implementar una aplicación de sincronización utilizando código administrado
Para crear e iniciar una sesión de sincronización, una aplicación hace lo siguiente:
Crea un objeto SyncOrchestrator.
Establece las propiedades LocalProvider y RemoteProvider del organizador.
Establece la propiedad Direction del organizador en la dirección de sincronización adecuada. En la dirección de Upload, el objeto LocalProvider es el origen y el objeto RemoteProvider es el destino. En la dirección de Download, el objeto LocalProvider es el destino y el objeto RemoteProvider es el origen. Tenga en cuenta que la sincronización bidireccional se puede realizar utilizando DownloadAndUpload o UploadAndDownload.
Llama al método Synchronize del organizador. De esta forma se crea una sesión en nombre de la aplicación que administrará todas las tareas de sincronización adicionales. Si la aplicación desea cancelar la sincronización, puede llamar al método Cancel.
Implementar una aplicación de sincronización utilizando código no administrado
Para crear e iniciar un objeto de sesión de sincronización, una aplicación hace lo siguiente:
Crea un objeto IApplicationSyncServices. Esto se consigue llamando a CoCreateInstance y pasándole CLSID_SyncServices como CLSID e IID_IApplicationSyncServices como IID.
Crea un objeto ISyncSession. Para ello, se llama al método IApplicationSyncServices::CreateSyncSession
Llama al método ISyncSession::Start. A continuación, Sync Framework administra todas las tareas de sincronización adicionales. Si la aplicación desea cancelar la sincronización, se puede llamar al método ISyncSession::Cancel.
Una vez completada la sincronización, se puede conseguir una sincronización bidireccional creando otro objeto de sesión, revirtiendo el proveedor de origen y el proveedor de destino, y llamando a ISyncSession::Start en el nuevo objeto de sesión.
Para obtener más información acerca de cómo crear una aplicación de sincronización, vea Crear una aplicación de sincronización no administrada.
Eventos de sincronización
Una aplicación puede registrarse para recibir notificaciones de diversos eventos durante la sincronización. Las dos razones principales para controlar eventos son realizar el seguimiento de su progreso e implementar un mecanismo de control de conflictos personalizado.
Código administrado Implemente métodos de controlador de eventos y regístrelos con el objeto SyncOrchestrator o con un objeto SyncCallbacks.
Código no administrado Use el método ISyncSession::RegisterCallback para registrar un objeto que implemente la interfaz ISyncCallback.
Para obtener más información, vea Responder a eventos de sincronización.
Vea también
Referencia
Interfaz IApplicationSyncServices
Interfaz ISyncSession
Interfaz ISyncCallback
SyncOrchestrator
SyncCallbacks
Conceptos
Microsoft Sync Framework
Aspectos básicos de los proveedores personalizados
Responder a eventos de sincronización