다음을 통해 공유


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

참고 항목

참조

Microsoft.Synchronization.Data 네임스페이스