ReplicaMetadata.GetFilteredChangeBatch 方法
在派生类中重写时,获取包含某些项的项元数据的变更批,这些项为不包含在来自目标提供程序的指定知识中的项和指定的筛选器所接受的项。
命名空间: Microsoft.Synchronization.MetadataStorage
程序集: Microsoft.Synchronization.MetadataStorage(在 microsoft.synchronization.metadatastorage.dll 中)
语法
声明
Public MustOverride Function GetFilteredChangeBatch ( _
batchSize As UInteger, _
destinationKnowledge As SyncKnowledge, _
filterInfo As FilterInfo, _
filterCallback As ItemFilterCallback _
) As ChangeBatch
用法
Dim instance As ReplicaMetadata
Dim batchSize As UInteger
Dim destinationKnowledge As SyncKnowledge
Dim filterInfo As FilterInfo
Dim filterCallback As ItemFilterCallback
Dim returnValue As ChangeBatch
returnValue = instance.GetFilteredChangeBatch(batchSize, destinationKnowledge, filterInfo, filterCallback)
public abstract ChangeBatch GetFilteredChangeBatch (
uint batchSize,
SyncKnowledge destinationKnowledge,
FilterInfo filterInfo,
ItemFilterCallback filterCallback
)
public:
virtual ChangeBatch^ GetFilteredChangeBatch (
unsigned int batchSize,
SyncKnowledge^ destinationKnowledge,
FilterInfo^ filterInfo,
ItemFilterCallback^ filterCallback
) abstract
public abstract ChangeBatch GetFilteredChangeBatch (
UInt32 batchSize,
SyncKnowledge destinationKnowledge,
FilterInfo filterInfo,
ItemFilterCallback filterCallback
)
public abstract function GetFilteredChangeBatch (
batchSize : uint,
destinationKnowledge : SyncKnowledge,
filterInfo : FilterInfo,
filterCallback : ItemFilterCallback
) : ChangeBatch
参数
- batchSize
要创建的批的大小。
- destinationKnowledge
来自目标提供程序的知识。
- filterInfo
用于控制哪些项包含在变更批中的筛选器信息。
- filterCallback
为确定是否应将项添加到该批而调用的委托。
返回值
一个包含某些项的项元数据的变更批,这些项为不包含在来自目标提供程序的指定知识中的项和指定的静态筛选器或动态筛选器所接受的项。
异常
异常类型 | 条件 |
---|---|
对象已释放或未正确初始化。 |
|
batchSize 为 0。 |
|
destinationKnowledge 为 null 引用(在 Visual Basic 中为 Nothing),或 filterInfo 为 null 引用(在 Visual Basic 中为 Nothing)。 |
备注
如果指定了筛选的同步,则此方法可帮助同步提供程序实现其 GetChangeBatch 方法。
在向批添加每一项之前将调用 filterCallback 委托。如果该委托返回 true,则该项将被添加到批;否则,不添加该项。
提供程序在调用此方法之前,必须确保元数据存储区中的版本反映了所有本地变更,包括删除。其实现方法为通过显式元数据维护传递来枚举项并更新其元数据。
可通过 SqlMetadataStore 获得的此类的实现按照全局 ID 的顺序将变更添加到变更批中。
可通过 SqlMetadataStore 获得的此类的实现在不再有变更要发送时,将返回的变更批的 IsLastBatch 设置为 true。
实施者注意事项: 若要帮助使用全局 ID 排序且能够使用范围的提供程序,应枚举变更,并按照全局 ID 的顺序将变更添加到变更批中。返回的变更批中的第一个变更将开始一个新范围。 如果在此批之后再无变更要发送,则必须将返回的变更批的 IsLastBatch 设置为 true,否则 Sync Framework 将再次调用 GetChangeBatch 来检索另一个变更批。
请参阅
参考
ReplicaMetadata 类
ReplicaMetadata 成员
Microsoft.Synchronization.MetadataStorage 命名空间