ReplicaMetadata.GetFullEnumerationChangeBatch 方法
当在派生类中重写时,获取包含某些项的项元数据的变更批作为完整枚举的一部分,这些项的 ID 等于或大于指定的下限。
命名空间: Microsoft.Synchronization.MetadataStorage
程序集: Microsoft.Synchronization.MetadataStorage(在 microsoft.synchronization.metadatastorage.dll 中)
语法
声明
Public MustOverride Function GetFullEnumerationChangeBatch ( _
batchSize As UInteger, _
lowerEnumerationBound As SyncId, _
destinationKnowledge As SyncKnowledge _
) As FullEnumerationChangeBatch
用法
Dim instance As ReplicaMetadata
Dim batchSize As UInteger
Dim lowerEnumerationBound As SyncId
Dim destinationKnowledge As SyncKnowledge
Dim returnValue As FullEnumerationChangeBatch
returnValue = instance.GetFullEnumerationChangeBatch(batchSize, lowerEnumerationBound, destinationKnowledge)
public abstract FullEnumerationChangeBatch GetFullEnumerationChangeBatch (
uint batchSize,
SyncId lowerEnumerationBound,
SyncKnowledge destinationKnowledge
)
public:
virtual FullEnumerationChangeBatch^ GetFullEnumerationChangeBatch (
unsigned int batchSize,
SyncId^ lowerEnumerationBound,
SyncKnowledge^ destinationKnowledge
) abstract
public abstract FullEnumerationChangeBatch GetFullEnumerationChangeBatch (
UInt32 batchSize,
SyncId lowerEnumerationBound,
SyncKnowledge destinationKnowledge
)
public abstract function GetFullEnumerationChangeBatch (
batchSize : uint,
lowerEnumerationBound : SyncId,
destinationKnowledge : SyncKnowledge
) : FullEnumerationChangeBatch
参数
- batchSize
要返回的变更批的大小。
- lowerEnumerationBound
项 ID 的下限。此方法应返回其 ID 大于或等于此 ID 值的变更。
- destinationKnowledge
目标提供程序的知识。
返回值
一个包含项的项元数据的变更批,这些项的 ID 等于或大于指定的下限。
异常
异常类型 | 条件 |
---|---|
对象已释放或未正确初始化。 |
|
batchSize 为 0。 |
|
lowerEnumerationBound 为 null 引用(在 Visual Basic 中为 Nothing),或 destinationKnowledge 为 null 引用(在 Visual Basic 中为 Nothing)。 |
备注
此方法可帮助同步提供程序实现其 GetFullEnumerationChangeBatch 方法。此方法在遗忘知识恢复期间调用。
在提供程序调用此方法之前,它们必须确保元数据存储区中的版本反映了包括删除在内的所有本地变更。其实现方法为通过显式元数据维护传递来枚举项并更新其元数据。
可通过 SqlMetadataStore 获得的此类的实现按照全局 ID 的顺序将变更添加到变更批中。
可通过 SqlMetadataStore 获得的此类的实现还会返回 ID 小于 lowerEnumerationBound 的所有项,这些项不包含在 destinationKnowledge 中。
可通过 SqlMetadataStore 获得的此类的实现在不再有变更要发送时,将返回的变更批的 IsLastBatch 设置为 true。
实施者注意事项: 此方法必须按照项 ID 的排序顺序枚举项 ID 等于或大于 lowerEnumerationBound 的变更。这使 Sync Framework 能够确定目标提供程序中的哪些项已被删除但又被源提供程序遗忘。 如果在此批之后再无变更要发送,则必须将返回的变更批的 IsLastBatch 设置为 true,否则 Sync Framework 将再次调用 GetChangeBatch 来检索另一个变更批。 对于将项数据和项变更元数据一起发送的提供程序,可以使用 destinationKnowledge 来确定是否有必要发送项数据。当项变更包含在 destinationKnowledge 中时,不必发送项数据。
请参阅
参考
ReplicaMetadata 类
ReplicaMetadata 成员
Microsoft.Synchronization.MetadataStorage 命名空间