Поделиться через


Свойство ApplyChangeFailedEventArgs.Action

Возвращает или задает значение перечисления ApplyAction, которое указывает действие, выполняемое при разрешении конфликта.

Пространство имен: Microsoft.Synchronization.Data
Сборка: Microsoft.Synchronization.Data (в microsoft.synchronization.data.dll)

Синтаксис

'Декларация
Public Property Action As ApplyAction
'Применение
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)

Значение свойства

Значение перечисления ApplyAction, указывающее действие, выполняемое при разрешении конфликта.

Замечания

Если при синхронизации строка не может быть применена, вызывается событие 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

См. также

Справочник

Класс ApplyChangeFailedEventArgs
Элементы ApplyChangeFailedEventArgs
Пространство имен Microsoft.Synchronization.Data