ResolveAction 열거형
동기화 중에 클라이언트에서 발생하는 모든 충돌을 해결하는 옵션을 지정합니다.
네임스페이스: Microsoft.Synchronization.Data
어셈블리: microsoft.synchronization.data.dll의 Microsoft.Synchronization.Data
구문
‘선언
Public Enumeration ResolveAction
‘사용 방법
Dim instance As ResolveAction
public enum ResolveAction
public enum class ResolveAction
public enum ResolveAction
public enum ResolveAction
멤버
멤버 이름 | 설명 | |
---|---|---|
ClientWins | 서버의 행을 클라이언트의 행으로 덮어씁니다. | |
FireEvent | 클라이언트 ApplyChangeFailed 이벤트 또는 서버 ApplyChangeFailed 이벤트를 발생시킵니다. | |
ServerWins | 클라이언트의 행을 서버의 행으로 덮어씁니다. |
주의
SqlCeClientSyncProvider에는 클라이언트에서 충돌을 해결하는 데 사용할 수 있는 ConflictResolver 속성이 포함되어 있습니다. 각 충돌 유형에 대해 ResolveAction 열거형에서 값을 설정할 수 있습니다.
ClientWins: Continue의 ApplyAction을 설정하는 것에 해당합니다.
ServerWins: RetryWithForceWrite의 ApplyAction을 설정하는 것에 해당합니다.
FireEvent: ApplyChangeFailed 이벤트(기본값)를 발생시키고 해당 이벤트를 처리합니다.
각 충돌 유형에 대해 ConflictResolver를 설정할 필요는 없습니다. 서버에서와 같은 방법으로 ApplyChangeFailed 이벤트를 처리하여 충돌을 해결할 수 있습니다. 그러나 ConflictResolver 속성을 사용하여 클라이언트에서 충돌 해결 옵션을 간단하게 지정할 수 있습니다. 자세한 내용은 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
예제
다음 코드 예제에서는 클라이언트 동기화 공급자에게 발생할 수 있는 각 충돌 유형에 대한 해결 동작을 설정합니다. 전체 예제의 맥락에서 이 코드를 보려면 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
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