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".

Public classAnchorEnumerationContextThe synchronization session context that is passed to an AnchorEnumerationSimpleSyncProvider object.
Public classAnchorEnumerationSimpleSyncProviderRepresents a provider for replicas that track changes by using anchors.
Public classChangeDetectionCompletedEventArgsProvides data for the ChangeDetectionCompleted event.
Public classChangeUnitVersionDefinitionRepresents the set of fields that the Sync Framework runtime uses to determine whether a change unit's version should be updated.
Public classConflictVersionInformationRepresents information about what item versions are known to the remote provider for a particular item that is in conflict.
Public classCustomFieldDefinitionRepresents 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 classFullEnumerationContextThe synchronization session context that is passed to an FullEnumerationSimpleSyncProvider object.
Public classFullEnumerationSimpleSyncProviderRepresents a provider for replicas that do not support any type of change tracking.
Public classIdentityRuleDefines the way in which an item is identified within a replica.
Public classItemEnumerationContextRepresents the synchronization session context that is passed to a provider.
Public classItemFieldRepresents the way in which an item is identified when changes are applied to a destination.
Public classItemFieldDictionaryRepresents an item and its associated fields.
Public classItemMetadataSchemaRepresents the metadata schema for an item, including how to identify an item and its version information, and how change units are defined.
Public classLocalItemChangeRepresents a change to an item in the local replica that is returned by EnumerateChanges(Byte[], AnchorEnumerationContext, Byte[]).
Public classMetadataStoreInitializedEventArgsProvides data for the MetadataStoreInitialized event.
Public classRecoverableErrorReportingContextRepresents 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 classSimpleSyncItemConflictingEventArgsProvides data for the ItemConflicting event.
Public classSimpleSyncItemConstraintEventArgsProvides data for the ItemConstraint event.
Public classSimpleSyncProviderRepresents a simple provider that is used to synchronize a replica. You will typically extend FullEnumerationSimpleSyncProvider or AnchorEnumerationSimpleSyncProvider.
Public classSimpleSyncServicesRepresents a set of services that are designed for replicas that use a simple provider.
Public classUnmanagedSimpleSyncProviderWrapperRepresents a managed object that wraps an unmanaged simple provider.

Public interfaceIFilteredSimpleSyncProviderRepresents 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 interfaceISimpleSyncProviderConcurrencyConflictResolverRepresents 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 interfaceISimpleSyncProviderConstraintConflictResolverRepresents a custom conflict resolver that handles constraint conflicts, such as duplicate items being inserted at multiple replicas.
Public interfaceISimpleSyncProviderIdGeneratorProvides a way to generate IDs of a custom format that are used to identify replicas and items in a metadata store.

Public enumerationConcurrencyConflictKindRepresents the types of conflicts that can occur because of changes that occurred to the same item at local and remote replicas.
Public enumerationLocalItemChangeTypeRepresents the type of changes that can occur to an item in the local replica.
Public enumerationSimpleSyncProviderDeleteModeRepresents the options for whether a local item delete is propagated to other replicas.
Public enumerationSimpleSyncProviderFilterOptionsRepresents the options that are available for filtered synchronization.