Compartir a través de


RecordRecoverableErrorForChangeUnit Método

Indica que hubo un error recuperable cuando los datos para esta unidad de cambio se guardaron en el almacén de elementos.

Espacio de nombres:  Microsoft.Synchronization
Ensamblado:  Microsoft.Synchronization (en Microsoft.Synchronization.dll)

Sintaxis

'Declaración
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
)
member RecordRecoverableErrorForChangeUnit : 
        changeUnitChange:ChangeUnitChange * 
        errorData:RecoverableErrorData -> unit 
public function RecordRecoverableErrorForChangeUnit(
    changeUnitChange : ChangeUnitChange, 
    errorData : RecoverableErrorData
)

Parámetros

Excepciones

Excepción Condición
CreateFailuresMustBeForEntireItemException

La acción de guardado contenida en el objeto SaveChangeWithChangeUnitsContext es Create. En esta situación, se debe producir un error en la creación del elemento completo.

Notas

Cuando se llama a este método, se agrega un objeto ItemChangeUnitOverride al conocimiento aprendido y el cambio de la unidad de cambio no se volverá a enumerar para la duración de la sesión de sincronización.

Ejemplos

En el ejemplo siguiente se intenta crear o actualizar una unidad de cambio en la réplica de destino. Cuando se produce una excepción, se registra un error irrecuperable que contiene la excepción para la unidad de cambio; y la sincronización continúa.

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;
}

Vea también

Referencia

SaveChangeWithChangeUnitsContext Clase

SaveChangeWithChangeUnitsContext Miembros

Microsoft.Synchronization Espacio de nombres