Condividi tramite


Enumerazione ApplyAction

Specifica le opzioni per l'elaborazione di una riga quando non è possibile applicare la riga durante la sincronizzazione.

Spazio dei nomi: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Sintassi

'Dichiarazione
Public Enumeration ApplyAction
'Utilizzo
Dim instance As ApplyAction
public enum ApplyAction
public enum class ApplyAction
public enum ApplyAction
public enum ApplyAction

Membri

  Nome membro Descrizione
Continue Continua l'elaborazione e aggiunge la riga all'elenco di conflitti definiti nell'oggetto SyncConflict. Questo è il comportamento predefinito. 
RetryApplyingRow Tenta di applicare nuovamente la riga. 
RetryNextSync Archivia la riga come un'eccezione e tenta di applicare la riga durante la sessione di sincronizzazione successiva. Valido solo per la sincronizzazione peer-to-peer. 
RetryWithForceWrite Forza l'applicazione della riga utilizzando la logica inclusa nei comandi dell'adattatore di sincronizzazione. 

Osservazioni

Se non è possibile applicare una riga durante la sincronizzazione, viene generato l'evento ApplyChangeFailed. L'oggetto ApplyChangeFailedEventArgs fornisce informazioni sull'errore o sul conflitto che ha generato il problema. In un gestore dell'evento è possibile specificare se il provider di sincronizzazione deve tentare di applicare di nuovo la riga. La scrittura forzata delle modifiche nel client viene gestita dal provider di sincronizzazione client e richiede l'aggiunta di logica nel codice per l'applicazione delle modifiche al server. Per ulteriori informazioni, vedere Procedura: gestire conflitti di dati ed errori.

Esempio

Nell'esempio di codice seguente viene specificato il valore RetryWithForceWrite per i conflitti di aggiornamento client/eliminazione server. Per visualizzare questo codice nel contesto di un esempio completo, vedere Procedura: gestire conflitti di dati ed errori.

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

Vedere anche

Riferimento

Spazio dei nomi Microsoft.Synchronization.Data