Freigeben über


ApplyChangeFailedEventArgs.Action-Eigenschaft

Ruft einen ApplyAction-Enumerationswert ab, der die Aktion zum Behandeln des Konflikts angibt, oder legt einen solchen Wert fest.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Syntax

'Declaration
Public Property Action As ApplyAction
'Usage
Dim instance As ApplyChangeFailedEventArgs
Dim value As ApplyAction

value = instance.Action

instance.Action = value
public ApplyAction Action { get; set; }
public:
property ApplyAction Action {
    ApplyAction get ();
    void set (ApplyAction value);
}
/** @property */
public ApplyAction get_Action ()

/** @property */
public void set_Action (ApplyAction value)
public function get Action () : ApplyAction

public function set Action (value : ApplyAction)

Eigenschaftenwert

Ein ApplyAction-Enumerationswert, der die Aktion zum Behandeln des Konflikts angibt.

Hinweise

Wenn eine Zeile während der Synchronisierung nicht übernommen werden kann, wird das ApplyChangeFailed-Ereignis ausgelöst. Das ApplyChangeFailedEventArgs-Objekt stellt Informationen über den Fehler oder Konflikt zur Verfügung, der zur Auslösung des Ereignisses geführt hat. In einem Handler für das Ereignis können Sie festlegen, ob der Synchronisierungsanbieter erneut versuchen soll, die Zeile anzuwenden. Das erzwungene Schreiben von Änderungen auf dem Client wird vom Clientsynchronisierungsanbieter behandelt. Für das erzwungene Schreiben von Änderungen auf dem Server wird eine Logik im Code benötigt, die Änderungen für den Server übernimmt. Weitere Informationen dazu finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

Beispiel

Das folgende Codebeispiel legt für Konflikte zwischen Clientaktualisierung und Serverlöschung den Wert RetryWithForceWrite fest. Eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

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

Siehe auch

Verweis

ApplyChangeFailedEventArgs-Klasse
ApplyChangeFailedEventArgs-Member
Microsoft.Synchronization.Data-Namespace