Compartir a través de


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
type 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.
RetryWithForceWrite Obligar a que la fila se aplique utilizando lógica que está incluida en comandos de adaptador de sincronización.
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.

Notas

Si una fila no puede aplicarse durante la sincronización, se provoca 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 Cómo controlar conflictos de datos y errores.

Ejemplos

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 Cómo 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

Vea también

Referencia

Microsoft.Synchronization.Data Espacio de nombres