SyncConflictResolver 類別
表示同步處理期間發生任何衝突時所要採取的動作。
命名空間: Microsoft.Synchronization.Data
組件: Microsoft.Synchronization.Data (在 microsoft.synchronization.data.dll)
語法
'宣告
<SerializableAttribute> _
Public Class SyncConflictResolver
'用途
Dim instance As SyncConflictResolver
[SerializableAttribute]
public class SyncConflictResolver
[SerializableAttribute]
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */
public class SyncConflictResolver
SerializableAttribute
public class SyncConflictResolver
備註
SqlCeClientSyncProvider 包含了可以用來在用戶端上解決衝突的 ConflictResolver 屬性。針對每種類型的衝突,您可以在 ResolveAction 列舉型別中設定一個值:
ClientWins:相當於設定 Continue 的 ApplyAction。
ServerWins:相當於設定 RetryWithForceWrite 的 ApplyAction。
FireEvent:引發 ApplyChangeFailed 事件和預設值,然後處理該事件。
並非一定要為每種類型的衝突設定 ConflictResolver。您可以藉由處理 ApplyChangeFailed 事件,以類似在伺服器上處理的方式來解決衝突。不過,ConflictResolver 屬性並不能提供一個簡單方法來指定用戶端上的衝突解決選項。如需詳細資訊,請參閱 HOW TO:處理資料衝突和錯誤。
範例
下列程式碼範例會針對用戶端同步處理提供者可能遇到的每一種衝突類型來設定解決動作。若要在完整範例的內容中檢視這段程式碼,請參閱 HOW TO:處理資料衝突和錯誤。
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
繼承階層
System.Object
Microsoft.Synchronization.Data.SyncConflictResolver
執行緒安全性
任何公用靜態 (共用 在 Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。