ApplyAction Enumeration
Collapse the table of content
Expand the table of content

ApplyAction Enumeration

Synchronization Services - ADO.NET 1.0 SP1

Specifies the options for processing a row when the row cannot be applied during synchronization.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in

public enum ApplyAction
public enum ApplyAction
public enum ApplyAction

 Member nameDescription
ContinueContinue processing, and add the row to the list of conflicts that are defined in the SyncConflict object. This is the default behavior. 
RetryApplyingRowTry to apply the row one more time. 
RetryNextSyncStore the row as an exception, and try to apply the row during the next synchronization session. Only valid for peer to peer synchronization. 
RetryWithForceWriteForce the row to be applied by using logic that is included in synchronization adapter commands. 

If a row cannot be applied during synchronization, the ApplyChangeFailed event is raised. The ApplyChangeFailedEventArgs object provides information about the error or conflict that caused the failure. In a handler for the event, you can specify whether the synchronization provider should try to apply the row again. Force writing changes on the client is handled by the client synchronization provider. Force writing changes on the server requires logic in the code that applies changes to the server. For more information, see How to: Handle Data Conflicts and Errors.

The following code example specifies a value of RetryWithForceWrite for client-update/server-delete conflicts. To view this code in the context of a complete example, see How to: Handle Data Conflicts and Errors.

if (e.Conflict.ConflictType == ConflictType.ClientUpdateServerDelete)

    //For client-update/server-delete conflicts, we force the client 
    //change to be applied at the server. The stored procedure specified for 
    //customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
    //and includes logic to handle this case.
    Console.WriteLine("A client update / server delete conflict was detected.");

    e.Action = ApplyAction.RetryWithForceWrite;
    Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.");

© 2015 Microsoft