Método SimpleSyncProvider.DeleteItem
Quando substituído em uma classe derivada, chamado pelo tempo de execução do Sync Framework para excluir um item do repositório de destino.
Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (em microsoft.synchronization.simpleproviders.dll)
Sintaxe
'Declaração
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
As propriedades de chave e versão esperada do item a ser excluído. O provedor deve executar uma verificação de simultaneidade otimista para se certificar de que a versão do item no destino corresponde aos valores encontrados em keyAndExpectedVersion. Se essa verificação falhar, o provedor deverá relatar um erro recuperável usando um objeto RecoverableErrorReportingContext.
- recoverableErrorReportingContext
Um objeto RecoverableErrorReportingContext usado para relatar erros recuperáveis que ocorrem durante as tentativas de excluir um item.
- commitKnowledgeAfterThisItem
Retorna se o tempo de execução do Sync Framework deve confirmar o conhecimento no repositório de metadados após a conclusão do processamento do item especificado.
Comentários
Depois que o Sync Framework tiver detectado e carregado alterações da origem, ele deverá aplicar essas alterações e as alterações de metadados correspondentes à réplica de destino. As alterações de metadados no destino são manipuladas pelo Sync Framework, mas a aplicação de alterações de dados é específica do repositório e manipulada por meio da implementação destes métodos: DeleteItem, InsertItem e UpdateItem.
Exemplo
O exemplo de código a seguir mostra uma implementação deste método, que aplica exclusões a um repositório de dados de amostra na memória. Para exibir esse código no contexto de um aplicativo completo, consulte o aplicativo "Sync101 using Simple Sync Provider"
disponível no Sync Framework SDK e em 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
Consulte também
Referência
Classe SimpleSyncProvider
Membros SimpleSyncProvider
Namespace Microsoft.Synchronization.SimpleProviders