Partager via


Méthode SaveChangeWithChangeUnitsContext.RecordRecoverableErrorForChangeUnit

Indique qu'une erreur récupérable s'est produite lors de l'enregistrement des données de cette unité de modification dans le magasin d'éléments.

Espace de noms: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (dans microsoft.synchronization.dll)

Syntaxe

'Déclaration
Public Sub RecordRecoverableErrorForChangeUnit ( _
    changeUnitChange As ChangeUnitChange, _
    errorData As RecoverableErrorData _
)
'Utilisation
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
)

Paramètres

  • changeUnitChange
    Modification de l'unité de modification qui a provoqué l'erreur.
  • errorData
    Informations supplémentaires relatives à l'erreur.

Exceptions

Type d'exception Condition

CreateFailuresMustBeForEntireItemException

L'action d'enregistrement qui est contenue dans l'objet SaveChangeWithChangeUnitsContext est Create. Dans ce cas, la création de l'élément entier doit échouer.

Notes

Lorsque cette méthode est appelée, un objet ItemChangeUnitOverride est ajouté à la connaissance acquise et la modification de l'unité de modification ne sera plus énumérée pendant la durée de la session de synchronisation.

Exemple

L'exemple suivant essaie de créer ou de mettre à jour une unité de modification dans le réplica de destination. Lorsqu'une exception se produit, une erreur récupérable qui contient l'exception est enregistrée pour l'unité de modification, et la synchronisation continue.

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

Voir aussi

Référence

Classe SaveChangeWithChangeUnitsContext
Membres SaveChangeWithChangeUnitsContext
Espace de noms Microsoft.Synchronization