다음을 통해 공유


ApplyAction 열거형

동기화 중에 행을 적용할 수 없는 경우 행을 처리하는 옵션을 지정합니다.

네임스페이스: Microsoft.Synchronization.Data
어셈블리: microsoft.synchronization.data.dll의 Microsoft.Synchronization.Data

구문

‘선언
Public Enumeration ApplyAction
‘사용 방법
Dim instance As ApplyAction
public enum ApplyAction
public enum class ApplyAction
public enum ApplyAction
public enum ApplyAction

멤버

  멤버 이름 설명
Continue 계속 처리하고 SyncConflict 개체에 정의된 충돌 목록에 행을 추가합니다. 이 동작은 기본적으로 수행됩니다. 
RetryApplyingRow 한 번 더 행을 적용해 봅니다. 
RetryNextSync 행을 예외로 저장하고 다음 동기화 세션 동안 행 적용을 시도합니다. 피어 투 피어 동기화의 경우에만 유효합니다. 
RetryWithForceWrite 동기화 어댑터 명령에 포함된 논리를 사용하여 행을 강제로 적용합니다. 

주의

동기화 중에 행을 적용할 수 없으면 ApplyChangeFailed 이벤트가 발생합니다. ApplyChangeFailedEventArgs 개체는 오류를 발생시킨 충돌이나 오류에 대한 정보를 제공합니다. 이벤트 처리기에서 동기화 공급자가 행을 다시 적용해야 할지 여부를 지정할 수 있습니다. 클라이언트에서의 변경 내용 강제 쓰기는 클라이언트 동기화 공급자에서 처리됩니다. 서버에서 변경 내용 강제 쓰기를 수행하려면 변경 내용을 서버에 적용하는 논리가 코드에 있어야 합니다. 자세한 내용은 방법: 데이터 충돌 및 오류 처리를 참조하십시오.

예제

다음 코드 예제에서는 클라이언트 업데이트/서버 삭제 충돌에 대한 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 네임스페이스