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