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