RecoverableErrorReportingContext Clase

Representa el contexto de la sesión de sincronización que se pasa al proveedor durante algunas llamadas, para que el proveedor pueda notificar los errores recuperables que se produzcan dentro del contexto de esa llamada.

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

Sintaxis

'Declaración
Public Class RecoverableErrorReportingContext
'Uso
Dim instance As RecoverableErrorReportingContext
public class RecoverableErrorReportingContext
public ref class RecoverableErrorReportingContext
type RecoverableErrorReportingContext =  class end
public class RecoverableErrorReportingContext

Ejemplos

En el ejemplo de código siguiente se muestra una implementación del método InsertItem que aplica inserciones a un almacén de datos de ejemplo en memoria. El método registra un error de restricción si la inserción no se puede aplicar. Para consultar este código en el contexto de una aplicación completa, vea la aplicación "Sync101 using Simple Sync Provider" que está disponible en Sync Framework SDK y en Code Gallery.

public override void InsertItem(object itemData, 
    IEnumerable<SyncId> changeUnitsToCreate,
    RecoverableErrorReportingContext recoverableErrorReportingContext, 
    out ItemFieldDictionary keyAndUpdatedVersion, 
    out bool commitKnowledgeAfterThisItem)
{
    ItemTransfer transfer = (ItemTransfer)itemData;
    ItemData dataCopy = new ItemData(transfer.ItemData);

    // Check for duplicates, and record a constraint error if a duplicate is detected.
    if (!_store.Contains(transfer.Id))
    {
        _store.CreateItem(dataCopy, transfer.Id);
        keyAndUpdatedVersion = _store.CreateItemFieldDictionary(transfer.Id);
    }
    else
    {
        recoverableErrorReportingContext.RecordConstraintError(_store.CreateItemFieldDictionary(transfer.Id));
        keyAndUpdatedVersion = null;
    }
    commitKnowledgeAfterThisItem = false;
}
Public Overrides Sub InsertItem(ByVal itemData As Object, ByVal changeUnitsToCreate As IEnumerable(Of SyncId), ByVal recoverableErrorReportingContext As RecoverableErrorReportingContext, ByRef keyAndUpdatedVersion As ItemFieldDictionary, ByRef commitKnowledgeAfterThisItem As Boolean)
    Dim transfer As ItemTransfer = DirectCast(itemData, ItemTransfer)
    Dim dataCopy As New ItemData(transfer.ItemData)

    ' Check for duplicates, and record a constraint error if a duplicate is detected. 
    If Not _store.Contains(transfer.Id) Then
        _store.CreateItem(dataCopy, transfer.Id)
        keyAndUpdatedVersion = _store.CreateItemFieldDictionary(transfer.Id)
    Else
        recoverableErrorReportingContext.RecordConstraintError(_store.CreateItemFieldDictionary(transfer.Id))
        keyAndUpdatedVersion = Nothing
    End If
    commitKnowledgeAfterThisItem = False
End Sub

Jerarquía de herencia

System. . :: . .Object
  Microsoft.Synchronization.SimpleProviders..::..RecoverableErrorReportingContext

Seguridad para subprocesos

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

RecoverableErrorReportingContext Miembros

Microsoft.Synchronization.SimpleProviders Espacio de nombres