Example #1
0
        // Main sync happens here
        private static void SynchronizeOnce(
            FileSyncScopeFilter filter,
            string localPathName,
            string containerName,
            CloudStorageAccount storageAccount)
        {
            // Setup Provider
            AzureBlobStore blobStore = new AzureBlobStore(containerName, storageAccount);

            AzureBlobSyncProvider azureProvider = new AzureBlobSyncProvider(containerName, blobStore);

            azureProvider.ApplyingChange += new EventHandler <ApplyingBlobEventArgs>(UploadingFile);

            FileSyncProvider fileSyncProvider = null;

            if (filter == null)
            {
                try
                {
                    fileSyncProvider = new FileSyncProvider(localPathName);
                }
                catch (ArgumentException)
                {
                    fileSyncProvider = new FileSyncProvider(Guid.NewGuid(), localPathName);
                }
            }
            else
            {
                try
                {
                    fileSyncProvider = new FileSyncProvider(localPathName, filter, FileSyncOptions.None);
                }
                catch (ArgumentException)
                {
                    fileSyncProvider = new FileSyncProvider(Guid.NewGuid(), localPathName, filter, FileSyncOptions.None);
                }
            }

            fileSyncProvider.ApplyingChange += new EventHandler <ApplyingChangeEventArgs>(WindowsAzureBlob2FileSystemSync.DownloadingFile);

            try
            {
                SyncOrchestrator orchestrator = new SyncOrchestrator();
                orchestrator.LocalProvider  = fileSyncProvider;
                orchestrator.RemoteProvider = azureProvider;
                orchestrator.Direction      = SyncDirectionOrder.DownloadAndUpload;

                orchestrator.Synchronize();
            }
            catch (Exception ex)
            {
                Trace.TraceError("Failed to Synchronize. Error: {0}", ex.Message);
            }
            finally
            {
                fileSyncProvider.Dispose();
            }
        }
        // Main sync happens here
        private static void SynchronizeOnce(
            FileSyncScopeFilter filter,
            string localPathName,
            string containerName,
            CloudStorageAccount storageAccount)
        {
            // Setup Provider
            AzureBlobStore blobStore = new AzureBlobStore(containerName, storageAccount);

            AzureBlobSyncProvider azureProvider = new AzureBlobSyncProvider(containerName, blobStore);
            azureProvider.ApplyingChange += new EventHandler<ApplyingBlobEventArgs>(UploadingFile);

            FileSyncProvider fileSyncProvider = null;
            if (filter == null)
            {
                try
                {
                    fileSyncProvider = new FileSyncProvider(localPathName);
                }
                catch (ArgumentException)
                {
                    fileSyncProvider = new FileSyncProvider(Guid.NewGuid(), localPathName);
                }
            }
            else
            {
                try
                {
                    fileSyncProvider = new FileSyncProvider(localPathName, filter, FileSyncOptions.None);
                }
                catch (ArgumentException)
                {
                    fileSyncProvider = new FileSyncProvider(Guid.NewGuid(), localPathName, filter, FileSyncOptions.None);
                }
            }

            fileSyncProvider.ApplyingChange += new EventHandler<ApplyingChangeEventArgs>(WindowsAzureBlob2FileSystemSync.DownloadingFile);

            try
            {
                SyncOrchestrator orchestrator = new SyncOrchestrator();
                orchestrator.LocalProvider = fileSyncProvider;
                orchestrator.RemoteProvider = azureProvider;
                orchestrator.Direction = SyncDirectionOrder.DownloadAndUpload;

                orchestrator.Synchronize();
            }
            catch (Exception ex)
            {
                Trace.TraceError("Failed to Synchronize. Error: {0}", ex.Message);
            }
            finally
            {
                fileSyncProvider.Dispose();
            }
        }