Freigeben über


ConflictType-Enumeration

Definiert die Arten von Konflikten, die während der Synchronisierung auftreten können.

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

Syntax

'Declaration
Public Enumeration ConflictType
'Usage
Dim instance As ConflictType
public enum ConflictType
public enum class ConflictType
public enum ConflictType
public enum ConflictType

Member

  Membername Beschreibung
ClientDeleteServerUpdate Der Client hat eine Zeile gelöscht, die vom Server aktualisiert wurde. 
ClientInsertServerInsert Client und Server haben jeweils eine Zeile eingefügt, die denselben Primärschlüsselwert aufweist. Dies führt zu einer Primärschlüsselverletzung. 
ClientUpdateServerDelete Der Server hat eine Zeile gelöscht, die vom Client aktualisiert wurde. 
ClientUpdateServerUpdate Client und Server haben dieselbe Zeile aktualisiert. 
ErrorsOccurred Der Client- oder Serverspeicher (in der Regel eine Datenbank) hat eine Ausnahme ausgelöst, während eine Änderung übernommen wurde. 
Unknown Der Clientsynchronisierungsanbieter kann alle Konflikte klassifizieren, auf die er stößt, der Serversynchronisierungsanbieter dagegen nicht. Daher werden einige Konflikte als Unknown klassifiziert. 

Hinweise

Ein Konflikt tritt auf, wenn die gleiche Zeile zwischen Synchronisierungen an mehreren Stellen eingefügt, aktualisiert oder gelöscht wird. Konflikte treten per Definition stets zwischen dem Server und dem Client auf, die aktuell synchronisiert werden. Dies bedeutet jedoch nicht unbedingt, dass die den Konflikt auslösende Änderung auf dem Server ihren Ursprung auf dem Server hat. Weitere Informationen dazu finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

Beispiel

Das folgende Codebeispiel legt für Konflikte zwischen Clientaktualisierung und Serverlöschung den Wert RetryWithForceWrite fest. Eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

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

Siehe auch

Verweis

Microsoft.Synchronization.Data-Namespace