Share via


Microsoft.Synchronization.SimpleProviders Namespace

This namespace contains types that are used to create simple providers for Sync Framework.

Sync Framework offers APIs that range from domain specific, such as the file synchronization provider, to the open-ended core APIs that can enable synchronization for any type of data store. The simple provider APIs are in the middle of this spectrum. They give developers a lot of the power and flexibility of the core APIs, but with less of a learning curve and less code, especially for replicas that have little or no change-tracking support. The simple provider API is extensible, but it is designed primarily for two types of replicas:

  • Replicas that do not support any kind of change tracking. This type of replica uses a full enumeration provider (FullEnumerationSimpleSyncProvider), which enumerates all items from the source replica every time synchronization occurs.

  • Replicas that support anchor-based change tracking. This type of replica uses an anchor-based provider (AnchorEnumerationSimpleSyncProvider), which enumerates the items from the source replica that changed after a specific anchor was set, which is typically a point in time.

For more information about simple providers, see How to: Create a Managed Simple Provider. For more information about custom providers in general, see Custom Provider Fundamentals, especially the section "Deciding Between a Simple Provider and a Standard Provider".

Classes

  Class Description
Public class AnchorEnumerationContext The synchronization session context that is passed to an AnchorEnumerationSimpleSyncProvider object.
Public class AnchorEnumerationSimpleSyncProvider Represents a provider for replicas that track changes by using anchors.
Public class ChangeDetectionCompletedEventArgs Provides data for the ChangeDetectionCompleted event.
Public class ChangeUnitVersionDefinition Represents the set of fields that the Sync Framework runtime uses to determine whether a change unit's version should be updated.
Public class ConflictVersionInformation Represents information about what item versions are known to the remote provider for a particular item that is in conflict.
Public class CustomFieldDefinition Represents a field that can be used to identify an item in the metadata store or to store version-related information for an item or a change unit.
Public class FullEnumerationContext The synchronization session context that is passed to an FullEnumerationSimpleSyncProvider object.
Public class FullEnumerationSimpleSyncProvider Represents a provider for replicas that do not support any type of change tracking.
Public class IdentityRule Defines the way in which an item is identified within a replica.
Public class ItemEnumerationContext Represents the synchronization session context that is passed to a provider.
Public class ItemField Represents the way in which an item is identified when changes are applied to a destination.
Public class ItemFieldDictionary Represents an item and its associated fields.
Public class ItemMetadataSchema Represents the metadata schema for an item, including how to identify an item and its version information, and how change units are defined.
Public class LocalItemChange Represents a change to an item in the local replica that is returned by EnumerateChanges.
Public class MetadataStoreInitializedEventArgs Provides data for the MetadataStoreInitialized event.
Public class RecoverableErrorReportingContext Represents the synchronization session context that is passed to the provider during some calls, so that the provider can report any recoverable errors that occur within the context of that call.
Public class SimpleSyncItemConflictingEventArgs Provides data for the ItemConflicting event.
Public class SimpleSyncItemConstraintEventArgs Provides data for the ItemConstraint event.
Public class SimpleSyncProvider Represents a simple provider that is used to synchronize a replica. You will typically extend FullEnumerationSimpleSyncProvider or AnchorEnumerationSimpleSyncProvider.
Public class SimpleSyncServices Represents a set of services that are designed for replicas that use a simple provider.
Public class UnmanagedSimpleSyncProviderWrapper Represents a managed object that wraps an unmanaged simple provider.

Interfaces

  Interface Description
Public interface IFilteredSimpleSyncProvider Represents a provider that filters data, which can result in two replicas synchronizing only a subset of the data that is available at each replica.
Public interface ISimpleSyncProviderConcurrencyConflictResolver Represents a custom conflict resolver that handles concurrency conflicts, such as the same item being updated at the local replica and deleted at the remote replica.
Public interface ISimpleSyncProviderConstraintConflictResolver Represents a custom conflict resolver that handles constraint conflicts, such as duplicate items being inserted at multiple replicas.
Public interface ISimpleSyncProviderIdGenerator Provides a way to generate IDs of a custom format that are used to identify replicas and items in a metadata store.

Enumerations

  Enumeration Description
Public enumeration ConcurrencyConflictKind Represents the types of conflicts that can occur because of changes that occurred to the same item at local and remote replicas.
Public enumeration LocalItemChangeType Represents the type of changes that can occur to an item in the local replica.
Public enumeration SimpleSyncProviderDeleteMode Represents the options for whether a local item delete is propagated to other replicas.
Public enumeration SimpleSyncProviderFilterOptions Represents the options that are available for filtered synchronization.