Compartilhar via


Método SimpleSyncProvider.LoadChangeData

Quando substituído em uma classe derivada, chamado pelo tempo de execução do Sync Framework para carregar os dados de alteração de um item com a chave especificada.

Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (em microsoft.synchronization.simpleproviders.dll)

Sintaxe

'Declaração
Public MustOverride Function LoadChangeData ( _
    keyAndExpectedVersion As ItemFieldDictionary, _
    changeUnitsToLoad As IEnumerable(Of SyncId), _
    recoverableErrorReportingContext As RecoverableErrorReportingContext _
) As Object
'Uso
Dim instance As SimpleSyncProvider
Dim keyAndExpectedVersion As ItemFieldDictionary
Dim changeUnitsToLoad As IEnumerable(Of SyncId)
Dim recoverableErrorReportingContext As RecoverableErrorReportingContext
Dim returnValue As Object

returnValue = instance.LoadChangeData(keyAndExpectedVersion, changeUnitsToLoad, recoverableErrorReportingContext)
public abstract Object LoadChangeData (
    ItemFieldDictionary keyAndExpectedVersion,
    IEnumerable<SyncId> changeUnitsToLoad,
    RecoverableErrorReportingContext recoverableErrorReportingContext
)
public:
virtual Object^ LoadChangeData (
    ItemFieldDictionary^ keyAndExpectedVersion, 
    IEnumerable<SyncId^>^ changeUnitsToLoad, 
    RecoverableErrorReportingContext^ recoverableErrorReportingContext
) abstract
public abstract Object LoadChangeData (
    ItemFieldDictionary keyAndExpectedVersion, 
    IEnumerable<SyncId> changeUnitsToLoad, 
    RecoverableErrorReportingContext recoverableErrorReportingContext
)
public abstract function LoadChangeData (
    keyAndExpectedVersion : ItemFieldDictionary, 
    changeUnitsToLoad : IEnumerable<SyncId>, 
    recoverableErrorReportingContext : RecoverableErrorReportingContext
) : Object

Parâmetros

  • keyAndExpectedVersion
    As propriedades de chave e versão atualizada do item para o qual são carregados dados. 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.
  • changeUnitsToLoad
    Um objeto SyncId que contém as unidades de alteração a serem carregadas para um item. Se nenhuma unidade de alteração for especificada, o parâmetro deverá ser null (não vazio).
  • recoverableErrorReportingContext
    Um objeto RecoverableErrorReportingContext usado para relatar erros recuperáveis que ocorrem durante as tentativas de atualizar um item.

Valor de retorno

Um objeto que representa os dados de alteração do item com a chave especificada.

Comentários

O Sync Framework deve poder enumerar itens no repositório de itens de origem, detectar se itens ou unidades de alteração foram alterados e carregar os dados alterados de forma que eles possam ser aplicados ao repositório de destino. A detecção de alterações é manipulada pelo tempo de execução do Sync Framework, mas a enumeração de alteração e o carregamento de dados são específicos do repositório e manipulados pela implementação de EnumerateItems (para provedores de enumeração completa) ou EnumerateChanges (para provedores baseados em âncora) e LoadChangeData (para qualquer tipo de provedor).

Exemplo

O exemplo de código a seguir retorna um objeto que contém uma das alterações de dados que foram enumerados por EnumerateItems ou EnumerateChanges. O Sync Framework chama esse método até que todas as alterações tenham sido carregadas. 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 object LoadChangeData(ItemFieldDictionary keyAndExpectedVersion, IEnumerable<SyncId> changeUnitsToLoad, RecoverableErrorReportingContext recoverableErrorReportingContext)
{
    IDictionary<uint, ItemField> expectedFields = (IDictionary<uint, ItemField>)keyAndExpectedVersion;
    ulong id = (ulong)expectedFields[CUSTOM_FIELD_ID].Value;
    return new ItemTransfer(id, _store.Get(id));
}
Public Overrides Function LoadChangeData(ByVal keyAndExpectedVersion As ItemFieldDictionary, ByVal changeUnitsToLoad As IEnumerable(Of SyncId), ByVal recoverableErrorReportingContext As RecoverableErrorReportingContext) As Object
    Dim expectedFields As IDictionary(Of UInteger, ItemField) = DirectCast(keyAndExpectedVersion, IDictionary(Of UInteger, ItemField))
    Dim id As ULong = CULng(expectedFields(CUSTOM_FIELD_ID).Value)
    Return New ItemTransfer(id, _store.[Get](id))
End Function

Consulte também

Referência

Classe SimpleSyncProvider
Membros SimpleSyncProvider
Namespace Microsoft.Synchronization.SimpleProviders