Compartir a través de


GetChangeBatch Método

Cuando se invalida en una clase derivada, obtiene un lote de cambios que contiene los metadatos del elemento para los elementos no contenidos en el conocimiento especificado del proveedor de destino.

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

Sintaxis

'Declaración
Public MustOverride Function GetChangeBatch ( _
    batchSize As UInteger, _
    destinationKnowledge As SyncKnowledge _
) As ChangeBatch
'Uso
Dim instance As ReplicaMetadata
Dim batchSize As UInteger
Dim destinationKnowledge As SyncKnowledge
Dim returnValue As ChangeBatch

returnValue = instance.GetChangeBatch(batchSize, _
    destinationKnowledge)
public abstract ChangeBatch GetChangeBatch(
    uint batchSize,
    SyncKnowledge destinationKnowledge
)
public:
virtual ChangeBatch^ GetChangeBatch(
    unsigned int batchSize, 
    SyncKnowledge^ destinationKnowledge
) abstract
abstract GetChangeBatch : 
        batchSize:uint32 * 
        destinationKnowledge:SyncKnowledge -> ChangeBatch 
public abstract function GetChangeBatch(
    batchSize : uint, 
    destinationKnowledge : SyncKnowledge
) : ChangeBatch

Parámetros

Valor devuelto

Tipo: Microsoft.Synchronization. . :: . .ChangeBatch
Lote de cambios que contiene los metadatos del elemento para los elementos no contenidos en el conocimiento especificado del proveedor de destino.

Excepciones

Excepción Condición
ObjectDisposedException

El objeto se ha eliminado o no se ha inicializado correctamente.

ArgumentOutOfRangeException

batchSize es 0.

ArgumentNullException

destinationKnowledge es un valor null Nothing nullptr unit es una referencia NULL (Nothing en Visual Basic). .

Notas

Este método ayuda a un proveedor de sincronización a implementar su método GetChangeBatch.

Antes de que los proveedores llamen a este método, deben asegurarse de que las versiones del almacén de metadatos reflejan todos los cambios locales, incluso las eliminaciones. Esto se logra mediante un examen explícito de mantenimiento de metadatos para enumerar los elementos y actualizar sus metadatos.

La implementación de esta clase que está disponible mediante SqlMetadataStore agrega cambios ordenados según su identificador global al lote de cambios.

La implementación de esta clase que está disponible mediante SqlMetadataStore establece IsLastBatch en true en el lote de cambios devuelto cuando no quedan cambios por enviar.

Notas a los implementadores

Para ayudar a un proveedor que usa la ordenación por identificadores globales y tiene la capacidad de usar intervalos, los cambios se deberían enumerar y agregar al lote de cambios de acuerdo con el orden de los identificadores globales. El primer cambio del lote de cambios devuelto inicia un nuevo intervalo.

Si no queda ningún cambio por enviar después de este lote, IsLastBatch debe establecerse en true en el lote de cambios devuelto o Sync Framework llamará de nuevo a GetChangeBatch()()()() para recuperar otro lote de cambios.

Ejemplos

En el ejemplo siguiente se implementa KnowledgeSyncProvider..::..GetChangeBatch pasando los parámetros a ReplicaMetadata..::..GetChangeBatch.

public override ChangeBatch GetChangeBatch(uint batchSize, SyncKnowledge destinationKnowledge, out object changeDataRetriever)
{
    // Return this object as the IChangeDataRetriever object that is called to retrieve item data.
    changeDataRetriever = this;

    // Use metadata storage service to get a batch of changes.
    return _ContactStore.ContactReplicaMetadata.GetChangeBatch(batchSize, destinationKnowledge);
}

Vea también

Referencia

ReplicaMetadata Clase

ReplicaMetadata Miembros

Microsoft.Synchronization.MetadataStorage Espacio de nombres