SyncConflictResolver Clase
Representa las acciones que se van a llevar a cabo cuando se produce algún conflicto durante la sincronización.
Espacio de nombres: Microsoft.Synchronization.Data
Ensamblado: Microsoft.Synchronization.Data (en microsoft.synchronization.data.dll)
Sintaxis
'Declaración
<SerializableAttribute> _
Public Class SyncConflictResolver
'Uso
Dim instance As SyncConflictResolver
[SerializableAttribute]
public class SyncConflictResolver
[SerializableAttribute]
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */
public class SyncConflictResolver
SerializableAttribute
public class SyncConflictResolver
Notas
El SqlCeClientSyncProvider también incluye una propiedad ConflictResolver que facilita la resolución de conflictos en el cliente. Para cada tipo de conflicto, puede establecer un valor de la enumeración ResolveAction:
ClientWins: equivalente a establecer ApplyAction en Continue.
ServerWins: equivalente a establecer ApplyAction en RetryWithForceWrite.
FireEvent: desencadena el evento ApplyChangeFailed, el valor predeterminado, y después lo controla.
No es necesario establecer ConflictResolver para cada tipo de conflicto. Puede resolver los conflictos como lo haría en el servidor, mediante el control del evento ApplyChangeFailed. No obstante, la propiedad ConflictResolver ofrece un método sencillo para especificar opciones de resolución de conflictos en el cliente. Para obtener más información, vea Controlar conflictos de datos y errores.
Ejemplo
El ejemplo de código siguiente establece la acción de resolución para cada tipo de conflicto que encuentre el proveedor de sincronización del cliente. Para consultar este código en el contexto de un ejemplo completo, vea Controlar conflictos de datos y errores.
this.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins;
this.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins;
//If any of the following conflicts or errors occur, the ApplyChangeFailed
//event is raised.
this.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent;
this.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent;
this.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent;
//Log information for the ApplyChangeFailed event and handle any
//ResolveAction.FireEvent cases.
this.ApplyChangeFailed +=new EventHandler<ApplyChangeFailedEventArgs>(SampleClientSyncProvider_ApplyChangeFailed);
Me.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins
Me.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins
'If any of the following conflicts or errors occur, the ApplyChangeFailed
'event is raised.
Me.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent
Me.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent
Me.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent
'Log information for the ApplyChangeFailed event and handle any
'ResolveAction.FireEvent cases.
AddHandler Me.ApplyChangeFailed, AddressOf SampleClientSyncProvider_ApplyChangeFailed
Jerarquía de herencia
System.Object
Microsoft.Synchronization.Data.SyncConflictResolver
Seguridad para subprocesos
Todos los miembros (Compartidos en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
SyncConflictResolver Miembros
Microsoft.Synchronization.Data Espacio de nombres