Método 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
abstract LoadChangeData :
keyAndExpectedVersion:ItemFieldDictionary *
changeUnitsToLoad:IEnumerable<SyncId> *
recoverableErrorReportingContext:RecoverableErrorReportingContext -> Object
public abstract function LoadChangeData(
keyAndExpectedVersion : ItemFieldDictionary,
changeUnitsToLoad : IEnumerable<SyncId>,
recoverableErrorReportingContext : RecoverableErrorReportingContext
) : Object
Parâmetros
- keyAndExpectedVersion
Tipo: Microsoft.Synchronization.SimpleProviders. . :: . .ItemFieldDictionary
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
Tipo: System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'SyncId> ) > ) >
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
Tipo: Microsoft.Synchronization.SimpleProviders. . :: . .RecoverableErrorReportingContext
Um objeto RecoverableErrorReportingContext usado para relatar erros recuperáveis que ocorrem durante as tentativas de atualizar um item.
Valor de retorno
Tipo: System. . :: . .Object
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(ItemFieldCollection, IEnumerable<(Of <<'(SyncId>)>>), RecoverableErrorReportingContext) (para qualquer tipo de provedor).
Exemplos
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