El marco Sync puede sincronizar archivos en la red siempre que tenga un recurso compartido de red disponible.
En el constructor de la FileSyncProvider establecer el rootDirectoryPath a una ubicación de recurso compartido de red que ha de leer y escribir a:
string networkPath = @"\\machinename\sharedfolderlocation";
FileSyncProvidor provider = new FileSyncProvider(networkPath);
Para realizar una sincronización bidireccional de esta manera que se necesitan para crear un FileSyncProvider tanto para el sistema de origen como para el de destino y utiliza SyncOrchestrator para hacer el trabajo pesado por ti.
Un ejemplo:
string firstLocation = @"\\sourcemachine\sourceshare";
string secondLocation = @"\\sourcemachine2\sourceshare2";
FileSyncProvidor firstProvider = new FileSyncProvider(firstLocation);
FileSyncProvidor secondProvider = new FileSyncProvider(secondLocation);
SyncOrchestrator orchestrator = new SyncOrchestrator();
orchestrator.LocalProvider = firstProvider;
orchestrator.RemoteProvider = secondProvider;
orchestrator.Direction = SyncDirectionOrder.DownloadAndUpload;
Lo que esto hace es definir dos proveedores FileSync y el orquestador se sincronizarán los archivos en ambas direcciones. Realiza un seguimiento de las creaciones, modificaciones y eliminaciones de archivos en los directorios establecidos en los proveedores.
Todo lo que se necesita en este momento es llamar Sincronizar en el SyncOrchestrator:
orchestrator.Synchronize();
he intentado, pero no parece posible. El proveedor de archivos usa muchas clases internas y no veo forma de proxy para ellos. – Timores