Freigeben über


SyncConflictResolver-Klasse

Stellt die Aktionen dar, die auszuführen sind, wenn während der Synchronisierung Konflikte auftreten.

Namespace:  Microsoft.Synchronization.Data
Assembly:  Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public Class SyncConflictResolver
'Usage
Dim instance As SyncConflictResolver
[SerializableAttribute]
public class SyncConflictResolver
[SerializableAttribute]
public ref class SyncConflictResolver
[<SerializableAttribute>]
type SyncConflictResolver =  class end
public class SyncConflictResolver

Hinweise

Der SqlCeClientSyncProvider enthält eine ConflictResolver-Eigenschaft, die Sie zum Auflösen von Konflikten auf dem Client verwenden können. Für jeden Konflikttyp können Sie einen Wert aus der ResolveAction-Enumeration festlegen:

Der ConflictResolver muss nicht für jeden Konflikttyp festgelegt werden. Sie können Konflikte genau wie auf dem Server auflösen, indem Sie das ApplyChangeFailed-Ereignis behandeln. Die ConflictResolver-Eigenschaft bietet aber dennoch eine einfache Möglichkeit, Konfliktauflösungsoptionen auf dem Client festzulegen. Weitere Informationen dazu finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

Beispiele

Im folgenden Codebeispiel wird für jede Art von Konflikt, auf die der Clientsynchronisierungsanbieter stoßen kann, die entsprechende Konfliktauflösungsaktion festgelegt. Eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

this.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins;            
this.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins;
//If any of the following conflicts or errors occur, the ApplyChangeFailed
//event is raised.
this.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent;
this.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent;
this.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent;

//Log information for the ApplyChangeFailed event and handle any
//ResolveAction.FireEvent cases.
this.ApplyChangeFailed +=new EventHandler<ApplyChangeFailedEventArgs>(SampleClientSyncProvider_ApplyChangeFailed);
Me.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins
Me.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins
'If any of the following conflicts or errors occur, the ApplyChangeFailed
'event is raised.
Me.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent
Me.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent
Me.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent

'Log information for the ApplyChangeFailed event and handle any
'ResolveAction.FireEvent cases.
AddHandler Me.ApplyChangeFailed, AddressOf SampleClientSyncProvider_ApplyChangeFailed

Vererbungshierarchie

System. . :: . .Object
  Microsoft.Synchronization.Data..::..SyncConflictResolver

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Verweis

SyncConflictResolver-Member

Microsoft.Synchronization.Data-Namespace