Метод RecordRecoverableErrorForChangeUnit
Показывает, что во время сохранения данных для этой базовой единицы в хранилище элементов произошла устранимая ошибка.
Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization (в Microsoft.Synchronization.dll)
Синтаксис
'Декларация
Public Sub RecordRecoverableErrorForChangeUnit ( _
changeUnitChange As ChangeUnitChange, _
errorData As RecoverableErrorData _
)
'Применение
Dim instance As SaveChangeWithChangeUnitsContext
Dim changeUnitChange As ChangeUnitChange
Dim errorData As RecoverableErrorData
instance.RecordRecoverableErrorForChangeUnit(changeUnitChange, _
errorData)
public void RecordRecoverableErrorForChangeUnit(
ChangeUnitChange changeUnitChange,
RecoverableErrorData errorData
)
public:
void RecordRecoverableErrorForChangeUnit(
ChangeUnitChange^ changeUnitChange,
RecoverableErrorData^ errorData
)
member RecordRecoverableErrorForChangeUnit :
changeUnitChange:ChangeUnitChange *
errorData:RecoverableErrorData -> unit
public function RecordRecoverableErrorForChangeUnit(
changeUnitChange : ChangeUnitChange,
errorData : RecoverableErrorData
)
Параметры
- changeUnitChange
Тип Microsoft.Synchronization. . :: . .ChangeUnitChange
Изменение базовой единицы, которое вызвало ошибку.
- errorData
Тип Microsoft.Synchronization. . :: . .RecoverableErrorData
Дополнительные сведения об ошибке.
Исключения
Исключение | Условие |
---|---|
CreateFailuresMustBeForEntireItemException | Действие сохранения, содержащееся в объекте SaveChangeWithChangeUnitsContext, равно Create. В этом случае создание всего элемента должно завершиться неудачно. |
Замечания
Когда вызывается этот метод, объект ItemChangeUnitOverride добавляется в набор известных знаний, а изменение базовой единицы не будет повторно перечисляться на протяжении сеанса синхронизации.
Примеры
В следующем примере предпринимается попытка создать или обновить базовую единицу на реплике назначения. Когда возникает исключение, для базовой единицы записывается устранимая ошибка, содержащая исключение, и синхронизация продолжается.
Case SaveChangeAction.Create, SaveChangeAction.UpdateVersionAndData
If True Then
' Update the item store and metadata store for the specified change unit.
Try
Dim cuData As String = DirectCast(context.ChangeData, String())(cuChange.ChangeUnitId.GetByteId())
_ContactStore.UpdateContactFromSync(change, cuChange, cuData)
Catch ex As Exception
Dim errData As New RecoverableErrorData(ex)
context.RecordRecoverableErrorForChangeUnit(cuChange, errData)
End Try
Exit Select
End If
case SaveChangeAction.Create:
case SaveChangeAction.UpdateVersionAndData:
{
// Update the item store and metadata store for the specified change unit.
try
{
string cuData = ((string[])context.ChangeData)[cuChange.ChangeUnitId.GetByteId()];
_ContactStore.UpdateContactFromSync(change, cuChange, cuData);
}
catch (Exception ex)
{
RecoverableErrorData errData = new RecoverableErrorData(ex);
context.RecordRecoverableErrorForChangeUnit(cuChange, errData);
}
break;
}
См. также
Справочник
SaveChangeWithChangeUnitsContext Класс