ChangeApplicationServices Class

Represents a change application service object that can be used to perform change application actions individually.

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

Syntax

'Declaration
Public Class ChangeApplicationServices
'Usage
Dim instance As ChangeApplicationServices
public class ChangeApplicationServices
public ref class ChangeApplicationServices
public class ChangeApplicationServices
public class ChangeApplicationServices

Remarks

The ChangeApplicationServices object is part of the change application service of Sync Framework, which is used when a provider requires greater flexibility than that allowed by the standard change applier provided by Sync Framework. For example, a provider must defer the application of certain changes to the end of the synchronization session. The standard change applier does not allow this. The provider can use the change application service to handle conflict detection and knowledge calculation while still retaining the ability to defer changes as necessary.

For a provider that does not need the extra flexibility of the change application service, it can be simpler to use a standard change applier, such as NotifyingChangeApplier.

The change application service is typically used by a destination provider to help implement its ProcessChangeBatch and ProcessFullEnumerationChangeBatch methods. To use the change application service, perform the following steps:

  1. Create and initialize a new ChangeApplicationServices object.

  2. Start processing of a change batch by calling BeginChangeApplication, or start processing of a recovery synchronization change batch by calling BeginFullEnumerationChangeApplication. Typically this method is called one time for each change batch to be processed.

  3. Enumerate the changes in the change batch. Call GetChangeApplicationContext one time for each change and use the returned ChangeApplicationContext object to apply the change.

  4. Report changes as successfully applied by calling ReportItemChangeApplied or ReportChangeUnitChangeApplied. Report changes a failing to apply by calling ReportRecoverableErrorOnItemChange or ReportRecoverableErrorOnChangeUnitChange.

  5. Call GetUpdatedDestinationKnowledge at any time to retrieve the updated destination knowledge that contains all of the changes applied so far.

  6. End processing of a change batch by calling EndChangeApplication, or end processing of a recovery synchronization change batch by calling EndFullEnumerationChangeApplication. Save the updated destination knowledge and destination forgotten knowledge objects that are returned by this method.

  7. Repeat steps 3 through 7 for each change batch received by the destination provider.

Inheritance Hierarchy

System.Object
  Microsoft.Synchronization.ChangeApplicationServices

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

ChangeApplicationServices Members
Microsoft.Synchronization Namespace