Перечисление ConflictType

Определяет типы конфликтов, возникающих во время синхронизации.

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

Синтаксис

'Декларация
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 Клиентское или серверное хранилище (обычно база данных) выдало исключение в процессе применения изменения. 
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