Condividi tramite


Metodo SaveChangeWithChangeUnitsContext.RecordRecoverableErrorForChangeUnit

Indica che si è verificato un errore reversibile al salvataggio dei dati per questa unità di modifica nell'archivio di elementi.

Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Sintassi

'Dichiarazione
Public Sub RecordRecoverableErrorForChangeUnit ( _
    changeUnitChange As ChangeUnitChange, _
    errorData As RecoverableErrorData _
)
'Utilizzo
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
)

Parametri

  • changeUnitChange
    Modifica dell'unità di modifica che ha causato l'errore.
  • errorData
    Ulteriori informazioni sull'errore.

Eccezioni

Tipo di eccezione Condizione

CreateFailuresMustBeForEntireItemException

L'azione di salvataggio contenuta nell'oggetto SaveChangeWithChangeUnitsContext è Create. In questo caso, la creazione dell'elemento intero deve avere esito negativo.

Osservazioni

Quando viene chiamato questo metodo, un oggetto ItemChangeUnitOverride viene aggiunto alla conoscenza acquisita. La modifica dell'unità di modifica non verrà enumerata nuovamente per la durata della sessione di sincronizzazione.

Esempio

Nell'esempio seguente viene eseguito un tentativo di creare o aggiornare un'unità di modifica nella replica di destinazione. Quando si verifica un'eccezione, un errore reversibile che la contiene viene registrato per l'unità di modifica e la sincronizzazione prosegue.

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

Vedere anche

Riferimento

Classe SaveChangeWithChangeUnitsContext
Membri SaveChangeWithChangeUnitsContext
Spazio dei nomi Microsoft.Synchronization