SimpleSyncProvider.DeleteItem Método

Cuando se invalida en una clase derivada, lo llama en tiempo de ejecución de Sync Framework para eliminar un elemento del almacén de destino.

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

Sintaxis

'Declaración
Public MustOverride Sub DeleteItem ( _
    keyAndExpectedVersion As ItemFieldDictionary, _
    recoverableErrorReportingContext As RecoverableErrorReportingContext, _
    <OutAttribute> ByRef commitKnowledgeAfterThisItem As Boolean _
)
'Uso
Dim instance As SimpleSyncProvider
Dim keyAndExpectedVersion As ItemFieldDictionary
Dim recoverableErrorReportingContext As RecoverableErrorReportingContext
Dim commitKnowledgeAfterThisItem As Boolean

instance.DeleteItem(keyAndExpectedVersion, recoverableErrorReportingContext, commitKnowledgeAfterThisItem)
public abstract void DeleteItem (
    ItemFieldDictionary keyAndExpectedVersion,
    RecoverableErrorReportingContext recoverableErrorReportingContext,
    out bool commitKnowledgeAfterThisItem
)
public:
virtual void DeleteItem (
    ItemFieldDictionary^ keyAndExpectedVersion, 
    RecoverableErrorReportingContext^ recoverableErrorReportingContext, 
    [OutAttribute] bool% commitKnowledgeAfterThisItem
) abstract
public abstract void DeleteItem (
    ItemFieldDictionary keyAndExpectedVersion, 
    RecoverableErrorReportingContext recoverableErrorReportingContext, 
    /** @attribute OutAttribute() */ /** @ref */ boolean commitKnowledgeAfterThisItem
)
JScript does not support passing value-type arguments by reference.

Parámetros

  • keyAndExpectedVersion
    Propiedades de clave y de versión esperada del elemento que se va a eliminar. El proveedor debe realizar una comprobación de simultaneidad optimista para comprobar que la versión del elemento del destino se corresponde con los valores de keyAndExpectedVersion. Si se produce un error de la comprobación, el proveedor debe notificar un error recuperable utilizando un objeto RecoverableErrorReportingContext.
  • recoverableErrorReportingContext
    Objeto RecoverableErrorReportingContext que se utiliza para notificar errores recuperables que se producen al intentar eliminar un elemento.
  • commitKnowledgeAfterThisItem
    Devuelve información sobre si el tiempo de ejecución de Sync Framework debe confirmar el conocimiento en el almacén de metadatos cuando se completa el procesamiento del elemento especificado.

Notas

Una vez que Sync Framework detecta y carga los cambios del origen, debe aplicar estos cambios y los cambios de los metadatos correspondientes a la réplica de destino. Sync Framework administra los cambios de metadatos en el destino, pero la aplicación de los cambios realizados en los datos es específica de cada almacén y se administra mediante la implementación de los métodos siguientes DeleteItem, InsertItem y UpdateItem.

Ejemplo

En el ejemplo de código siguiente se muestra una implementación de este método que aplica eliminaciones a un almacén de datos de ejemplo en memoria. 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 DeleteItem(ItemFieldDictionary keyAndExpectedVersion, 
    RecoverableErrorReportingContext recoverableErrorReportingContext, 
    out bool commitKnowledgeAfterThisItem)
{
    IDictionary<uint, ItemField> expectedFields = (IDictionary<uint, ItemField>)keyAndExpectedVersion;
    ulong id = (ulong)expectedFields[CUSTOM_FIELD_ID].Value;
    if (_store.Contains(id))
    {
        _store.DeleteItem(id);
    }
    else
    {
        // If the item to delete does not exist, record an error on this change and 
        // continue with the rest of the session.
        recoverableErrorReportingContext.RecordRecoverableErrorForChange(new RecoverableErrorData(new Exception("Item not found in the store")));
    }
    commitKnowledgeAfterThisItem = false;
}
Public Overrides Sub DeleteItem(ByVal keyAndExpectedVersion As ItemFieldDictionary, ByVal recoverableErrorReportingContext As RecoverableErrorReportingContext, ByRef commitKnowledgeAfterThisItem As Boolean)
    Dim expectedFields As IDictionary(Of UInteger, ItemField) = DirectCast(keyAndExpectedVersion, IDictionary(Of UInteger, ItemField))
    Dim id As ULong = CULng(expectedFields(CUSTOM_FIELD_ID).Value)
    If _store.Contains(id) Then
        _store.DeleteItem(id)
    Else
        ' If the item to delete does not exist, record an error on this change and 
        ' continue with the rest of the session. 
        recoverableErrorReportingContext.RecordRecoverableErrorForChange(New RecoverableErrorData(New Exception("Item not found in the store")))
    End If
    commitKnowledgeAfterThisItem = False
End Sub

Vea también

Referencia

SimpleSyncProvider Clase
SimpleSyncProvider Miembros
Microsoft.Synchronization.SimpleProviders Espacio de nombres