Compartilhar via


Propriedade ApplyChangeFailedEventArgs.Action

Obtém ou define um valor de enumeração ApplyAction que especifica a ação para tratar o conflito.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (em microsoft.synchronization.data.dll)

Sintaxe

'Declaração
Public Property Action As ApplyAction
'Uso
Dim instance As ApplyChangeFailedEventArgs
Dim value As ApplyAction

value = instance.Action

instance.Action = value
public ApplyAction Action { get; set; }
public:
property ApplyAction Action {
    ApplyAction get ();
    void set (ApplyAction value);
}
/** @property */
public ApplyAction get_Action ()

/** @property */
public void set_Action (ApplyAction value)
public function get Action () : ApplyAction

public function set Action (value : ApplyAction)

Valor da propriedade

Um valor de enumeração ApplyAction que especifica a ação para tratar o conflito.

Comentários

Se não for possível aplicar uma linha durante a sincronização, será gerado o evento ApplyChangeFailed. O objeto ApplyChangeFailedEventArgs fornece informações sobre o erro ou o conflito que provocou a falha. Em um manipulador do evento, você pode especificar se o provedor de sincronização deve tentar aplicar a linha novamente. A gravação forçada de alterações no cliente é tratada pelo provedor de sincronização do cliente. A gravação forçada de alterações no servidor requer lógica no código que aplique as alterações no servidor. Para obter mais informações, consulte Como tratar conflitos de dados e erros.

Exemplo

O exemplo de código a seguir especifica um valor de RetryWithForceWrite para conflitos de atualização no cliente/exclusão no servidor. Para exibir esse código no contexto de um exemplo completo, consulte Como tratar conflitos de dados e erros.

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

Consulte também

Referência

Classe ApplyChangeFailedEventArgs
Membros ApplyChangeFailedEventArgs
Namespace Microsoft.Synchronization.Data