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