Método SaveChangeWithChangeUnitsContext.RecordRecoverableErrorForChangeUnit
Indica que um erro recuperável ocorreu quando os dados dessa unidade de alteração foram salvos no repositório de itens.
Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (em microsoft.synchronization.dll)
Sintaxe
'Declaração
Public Sub RecordRecoverableErrorForChangeUnit ( _
changeUnitChange As ChangeUnitChange, _
errorData As RecoverableErrorData _
)
'Uso
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
)
public void RecordRecoverableErrorForChangeUnit (
ChangeUnitChange changeUnitChange,
RecoverableErrorData errorData
)
public function RecordRecoverableErrorForChangeUnit (
changeUnitChange : ChangeUnitChange,
errorData : RecoverableErrorData
)
Parâmetros
- changeUnitChange
A alteração da unidade de alteração que causou o erro.
- errorData
Informações adicionais sobre o erro.
Exceções
Tipo de exceção | Condição |
---|---|
A ação de salvamento contida no objeto SaveChangeWithChangeUnitsContext é Create. Nessa situação, a criação de todo o item deve falhar. |
Comentários
Quando esse método é chamado, um objeto ItemChangeUnitOverride é adicionado ao conhecimento adquirido e a alteração da unidade de alteração não será enumerada novamente durante a sessão de sincronização.
Exemplo
O exemplo a seguir tenta criar ou atualizar uma unidade de alteração na réplica de destino. Quando ocorre uma exceção, um erro recuperável que contém a exceção é registrado para a unidade de alteração e a sincronização continua.
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;
}
Consulte também
Referência
Classe SaveChangeWithChangeUnitsContext
Membros SaveChangeWithChangeUnitsContext
Namespace Microsoft.Synchronization