Partager via


Énumération ApplyAction

Spécifie les options de traitement d'une ligne lorsqu'il n'est pas possible d'appliquer cette ligne pendant la synchronisation.

Espace de noms: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (dans microsoft.synchronization.data.dll)

Syntaxe

'Déclaration
Public Enumeration ApplyAction
'Utilisation
Dim instance As ApplyAction
public enum ApplyAction
public enum class ApplyAction
public enum ApplyAction
public enum ApplyAction

Membres

  Nom de membre Description
Continue Poursuivez le traitement, puis ajoutez la ligne à la liste des conflits définis dans l'objet SyncConflict. Il s'agit du comportement par défaut. 
RetryApplyingRow Essayez d'appliquer la ligne encore une fois. 
RetryNextSync Stockez la ligne sous la forme d'une exception et essayez de l'appliquer lors de la prochaine session de synchronisation. Valide seulement pour la synchronisation d'égal à égal. 
RetryWithForceWrite Forcez l'application de la ligne en utilisant une logique incluse dans les commandes d'adaptateur de la synchronisation. 

Notes

S'il est impossible d'appliquer une ligne durant la synchronisation, l'événement ApplyChangeFailed est déclenché. L'objet ApplyChangeFailedEventArgs fournit des informations sur l'erreur ou le conflit à l'origine de l'échec. Dans un gestionnaire pour l'événement, vous pouvez indiquer si le fournisseur de synchronisation doit essayer d'appliquer à nouveau la ligne. L'écriture forcée des modifications sur le client est gérée par le fournisseur de synchronisation client. L'écriture forcée des modifications sur le serveur nécessite une logique dans le code qui applique les modifications sur le serveur. Pour plus d'informations, consultez Procédure : gérer les conflits de données et les erreurs.

Exemple

L'exemple de code suivant spécifie une valeur de RetryWithForceWrite pour les conflits de mise à jour du client/suppression du serveur. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : gérer les conflits de données et les erreurs.

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(String.Empty);
    Console.WriteLine("***********************************");
    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.");
    Console.WriteLine("***********************************"); 
    Console.WriteLine(String.Empty);
 
}
If e.Conflict.ConflictType = ConflictType.ClientUpdateServerDelete Then

    '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(String.Empty)
    Console.WriteLine("***********************************")
    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.")
    Console.WriteLine("***********************************")
    Console.WriteLine(String.Empty)
End If

Voir aussi

Référence

Espace de noms Microsoft.Synchronization.Data