SqlCeClientSyncProvider.ConflictResolver 屬性
取得用戶端同步處理提供者的 SyncConflictResolver 物件,此物件可決定發生衝突時所要採取的動作。
命名空間: Microsoft.Synchronization.Data.SqlServerCe
組件: Microsoft.Synchronization.Data.SqlServerCe (在 microsoft.synchronization.data.sqlserverce.dll)
語法
'宣告
Public ReadOnly Property ConflictResolver As SyncConflictResolver
'用途
Dim instance As SqlCeClientSyncProvider
Dim value As SyncConflictResolver
value = instance.ConflictResolver
public SyncConflictResolver ConflictResolver { get; }
public:
property SyncConflictResolver^ ConflictResolver {
SyncConflictResolver^ get ();
}
/** @property */
public SyncConflictResolver get_ConflictResolver ()
public function get ConflictResolver () : SyncConflictResolver
屬性值
決定發生衝突時所要採取之動作的 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
請參閱
參考
SqlCeClientSyncProvider 類別
SqlCeClientSyncProvider 成員
Microsoft.Synchronization.Data.SqlServerCe 命名空間