Compartilhar via


Enumeração ConflictType

Define os tipos de conflitos que podem ocorrer durante a sincronização.

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

Sintaxe

'Declaração
Public Enumeration ConflictType
'Uso
Dim instance As ConflictType
public enum ConflictType
public enum class ConflictType
public enum ConflictType
public enum ConflictType

Membros

  Nome do membro Descrição
ClientDeleteServerUpdate O cliente excluiu uma linha que o servidor atualizou. 
ClientInsertServerInsert O cliente e o servidor inseriram uma linha com o mesmo valor de chave primária. Isso provocou uma violação de chave primária. 
ClientUpdateServerDelete O servidor excluiu uma linha que o cliente atualizou. 
ClientUpdateServerUpdate O cliente e o servidor atualizaram a mesma linha. 
ErrorsOccurred O repositório no cliente ou no servidor (normalmente, um banco de dados) acionou uma exceção ao aplicar uma alteração. 
Unknown O provedor de sincronização do cliente pode classificar todos os conflitos que encontrar, mas o provedor de sincronização do servidor não pode. Portanto, alguns conflitos são classificados como Unknown

Comentários

Um conflito ocorre quando a mesma linha é inserida, atualizada ou excluída em mais de um local entre as sincronizações. Os conflitos são sempre definidos como ocorridos entre o servidor e o cliente que estão em sincronização no momento. Entretanto, isso não significa que a alteração em conflito no servidor originou-se necessariamente 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

Namespace Microsoft.Synchronization.Data