ConflictType 열거형
동기화 중에 발생할 수 있는 충돌 유형을 정의합니다.
네임스페이스: Microsoft.Synchronization.Data
어셈블리: microsoft.synchronization.data.dll의 Microsoft.Synchronization.Data
구문
‘선언
Public Enumeration ConflictType
‘사용 방법
Dim instance As ConflictType
public enum ConflictType
public enum class ConflictType
public enum ConflictType
public enum ConflictType
멤버
멤버 이름 | 설명 | |
---|---|---|
ClientDeleteServerUpdate | 서버에서 업데이트한 행을 클라이언트에서 삭제했습니다. | |
ClientInsertServerInsert | 기본 키 값이 같은 행을 클라이언트와 서버에서 모두 삽입했습니다. 이로 인해 기본 키 위반이 발생했습니다. | |
ClientUpdateServerDelete | 클라이언트에서 업데이트한 행을 서버에서 삭제했습니다. | |
ClientUpdateServerUpdate | 클라이언트와 서버에서 같은 행을 업데이트했습니다. | |
ErrorsOccurred | 변경 내용을 적용하는 동안 클라이언트 또는 서버 저장소(대개 데이터베이스)에서 예외를 throw했습니다. | |
Unknown | 클라이언트 동기화 공급자는 발생하는 모든 충돌을 분류할 수 있지만 서버 동기화 공급자는 분류할 수 없습니다. 따라서 일부 충돌은 Unknown으로 분류됩니다. |
주의
동기화 간에 둘 이상의 위치에서 같은 행이 삽입, 업데이트 또는 삭제될 때 충돌이 발생합니다. 충돌은 항상 현재 동기화 중인 서버와 클라이언트 간에 발생한다고 정의되지만 서버에서 충돌하는 변경 내용이 반드시 서버에서 시작되었다는 의미는 아닙니다. 자세한 내용은 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
예제
다음 코드 예제에서는 클라이언트 업데이트/서버 삭제 충돌에 대한 RetryWithForceWrite
의 값을 지정합니다. 전체 예제의 맥락에서 이 코드를 보려면 방법: 데이터 충돌 및 오류 처리를 참조하십시오.
if (e.Conflict.ConflictType == ConflictType.ClientUpdateServerDelete)
{
//For client-update/server-delete conflicts, we force the client
//change to be applied at the server. The stored procedure specified for
//customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
//and includes logic to handle this case.
Console.WriteLine(String.Empty);
Console.WriteLine("***********************************");
Console.WriteLine("A client update / server delete conflict was detected.");
e.Action = ApplyAction.RetryWithForceWrite;
Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.");
Console.WriteLine("***********************************");
Console.WriteLine(String.Empty);
}
If e.Conflict.ConflictType = ConflictType.ClientUpdateServerDelete Then
'For client-update/server-delete conflicts, we force the client
'change to be applied at the server. The stored procedure specified for
'customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
'and includes logic to handle this case.
Console.WriteLine(String.Empty)
Console.WriteLine("***********************************")
Console.WriteLine("A client update / server delete conflict was detected.")
e.Action = ApplyAction.RetryWithForceWrite
Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.")
Console.WriteLine("***********************************")
Console.WriteLine(String.Empty)
End If