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
- batchSize
Tipo: System. . :: . .UInt32
Tamaño del lote que se va a crear.
- destinationKnowledge
Tipo: Microsoft.Synchronization. . :: . .SyncKnowledge
Conocimiento del proveedor de destino.
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
Microsoft.Synchronization.MetadataStorage Espacio de nombres