ApplyAction Enumeración
Especifica las opciones de procesamiento de una fila cuando dicha fila no puede aplicarse durante la sincronización.
Espacio de nombres: Microsoft.Synchronization.Data
Ensamblado: Microsoft.Synchronization.Data (en microsoft.synchronization.data.dll)
Sintaxis
'Declaración
Public Enumeration ApplyAction
'Uso
Dim instance As ApplyAction
public enum ApplyAction
public enum class ApplyAction
public enum ApplyAction
public enum ApplyAction
Miembros
Nombre del miembro | Descripción | |
---|---|---|
Continue | Continuar con el procesamiento y agregar la fila a la lista de conflictos definidos en el objeto SyncConflict. Éste es el comportamiento predeterminado. | |
RetryApplyingRow | Intentar aplicar la fila una vez más. | |
RetryNextSync | Almacenar la fila como una excepción e intentar aplicarla durante la siguiente sesión de sincronización. Válido solamente para la sincronización punto a punto. | |
RetryWithForceWrite | Obligar a que la fila se aplique utilizando lógica que está incluida en comandos de adaptador de sincronización. |
Notas
Si una fila no puede aplicarse durante la sincronización, se genera el evento ApplyChangeFailed. El objeto ApplyChangeFailedEventArgs proporciona información sobre el error o conflicto que ha producido el fallo. En un controlador del evento puede especificar si es necesario que el proveedor de sincronización vuelva a aplicar la fila. El proveedor de sincronización del cliente controla el modo forzar que se escriban los cambios en el cliente. Forzar la escritura de los cambios en el servidor requiere lógica en el código que aplica los cambios al servidor. Para obtener más información, vea Controlar conflictos de datos y errores.
Ejemplo
En el ejemplo de código siguiente se especifica un valor de RetryWithForceWrite
para los conflictos de actualización del cliente y eliminación del servidor. Para consultar este código en el contexto de un ejemplo completo, vea Controlar conflictos de datos y errores.
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