SyncConflictResolver 클래스
동기화 중에 충돌이 발생할 때 수행할 동작을 나타냅니다.
네임스페이스: Microsoft.Synchronization.Data
어셈블리: microsoft.synchronization.data.dll의 Microsoft.Synchronization.Data
구문
‘선언
<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 속성을 사용하여 클라이언트에서 충돌 해결 옵션을 간단하게 지정할 수 있습니다. 자세한 내용은 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
예제
다음 코드 예제에서는 클라이언트 동기화 공급자에게 발생할 수 있는 각 충돌 유형에 대한 해결 동작을 설정합니다. 전체 예제의 맥락에서 이 코드를 보려면 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
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
스레드로부터의 안전성
이 유형의 모든 public static(Visual Basic의 경우 Shared ) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전성이 보장되지 않습니다.
참고 항목
참조
SyncConflictResolver 멤버
Microsoft.Synchronization.Data 네임스페이스