Share via


FileSyncProvider Class

Is a synchronous synchronization provider that can be used to synchronize files, folders, and subfolders in NTFS, FAT, or SMB file systems.

Namespace: Microsoft.Synchronization.Files
Assembly: Microsoft.Synchronization.Files (in microsoft.synchronization.files.dll)

Syntax

'Declaration
Public Class FileSyncProvider
    Inherits UnmanagedSyncProviderWrapper
    Implements IDisposable
'Usage
Dim instance As FileSyncProvider
public class FileSyncProvider : UnmanagedSyncProviderWrapper, IDisposable
public ref class FileSyncProvider : public UnmanagedSyncProviderWrapper, IDisposable
public class FileSyncProvider extends UnmanagedSyncProviderWrapper implements IDisposable
public class FileSyncProvider extends UnmanagedSyncProviderWrapper implements IDisposable

Remarks

To synchronize all files and subfolders in a directory, pass the replica ID and root directory to FileSyncProvider(Guid,String), and pass the provider to a SyncAgent object to handle the synchronization session.

By default, synchronization metadata is stored in a metadata storage service database file in the root directory of the replica. To customize the location and name of this file, specify these by using FileSyncProvider(Guid,String,FileSyncScopeFilter,FileSyncOptions,String,String,String,String).

Control over which files and folders are included in the synchronization scope can be accomplished by configuring a FileSyncScopeFilter and passing it to the provider's constructor. The filter contains properties that can be used to exclude a list of files, exclude a list of folders, exclude files and folders based on their attributes, and explicitly include a list of files.

A number of configuration options, FileSyncOptions, are available to control how the provider behaves during synchronization, for example, whether it moves deleted files to the recycle bin or deletes them permanently from the file system.

A variety of events are available to the application that wants to show progress or dynamically skip particular changes during the session.

The provider can be put into preview mode by setting PreviewMode to true before starting synchronization. While in preview mode, the provider will perform all actions as if a real synchronization session is occurring, including firing all events. However, the provider will not actually apply any changes to the destination replica.

Note

Concurrent synchronization operations to the same file store are not supported. If another provider instance was previously initialized with the same replica (that is, the same values for directory path and metadata file path), but has not yet been released, the constructor will throw a ReplicaMetadataInUseException from the metadata store.

Inheritance Hierarchy

System.Object
   Microsoft.Synchronization.SyncProvider
     Microsoft.Synchronization.KnowledgeSyncProvider
       Microsoft.Synchronization.UnmanagedSyncProviderWrapper
        Microsoft.Synchronization.Files.FileSyncProvider

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

FileSyncProvider Members
Microsoft.Synchronization.Files Namespace