Метод ReplicaMetadata.GetFilteredLocalVersions
При переопределении в производном классе возвращает фильтрованный пакет изменений, содержащий версии элементов и базовые единицы, которые хранятся в данной реплике. Эти элементы и базовые единицы соответствуют элементам и базовым единицам, на которые имеются ссылки в пакете изменений, полученном от другого поставщика.
Пространство имен: Microsoft.Synchronization.MetadataStorage
Сборка: Microsoft.Synchronization.MetadataStorage (в microsoft.synchronization.metadatastorage.dll)
Синтаксис
'Декларация
Public MustOverride Function GetFilteredLocalVersions ( _
sourceChanges As ChangeBatch, _
filterCallback As ItemFilterCallback _
) As IEnumerable(Of ItemChange)
'Применение
Dim instance As ReplicaMetadata
Dim sourceChanges As ChangeBatch
Dim filterCallback As ItemFilterCallback
Dim returnValue As IEnumerable(Of ItemChange)
returnValue = instance.GetFilteredLocalVersions(sourceChanges, filterCallback)
public abstract IEnumerable<ItemChange> GetFilteredLocalVersions (
ChangeBatch sourceChanges,
ItemFilterCallback filterCallback
)
public:
virtual IEnumerable<ItemChange^>^ GetFilteredLocalVersions (
ChangeBatch^ sourceChanges,
ItemFilterCallback^ filterCallback
) abstract
public abstract IEnumerable<ItemChange> GetFilteredLocalVersions (
ChangeBatch sourceChanges,
ItemFilterCallback filterCallback
)
public abstract function GetFilteredLocalVersions (
sourceChanges : ChangeBatch,
filterCallback : ItemFilterCallback
) : IEnumerable<ItemChange>
Параметры
- sourceChanges
Пакет изменений, полученный от другого поставщика, который будет применен к хранилищу элементов, связанному с данной репликой.
- filterCallback
Делегат, который вызывается для определения необходимости добавления элемента в пакет.
Возвращаемое значение
Фильтрованный пакет изменений, содержащий версии элементов и базовые единицы, которые хранятся в данной реплике и соответствуют элементам и базовым единицам, на которые были ссылки в пакете изменений, полученном от другого поставщика.
Замечания
Этот метод упрощает поставщикам реализацию метода ProcessChangeBatch службы синхронизации, если поставщик назначения фильтрует изменения.
Значения версий в пакете изменений, возвращаемых этим методом, используются объектами применения изменений для обнаружения конфликтов.
Делегат filterCallback вызывается перед добавлением каждого элемента в пакет. Если делегат вернул значение true, то элемент добавляется в пакет. В противном случае добавление элемента не производится.
Примечания по реализации. Пакет изменений, возвращаемый из этого метода, может содержать по одной записи для каждой из записей в sourceChanges, включая записи базовых единиц, за исключением случаев, когда делегатом filterCallback указано, что запись включать не нужно. Если элемент существует в хранилище и включен фильтром, то его запись должна содержать сведения о версии для этой реплики. Если элемент, включенный в фильтр, не существует, то его версия должна быть установлена в значение SyncVersion.UnknownVersion, а свойство ItemChange.ChangeKind — в значение UnknownItem.
См. также
Справочник
Класс ReplicaMetadata
Элементы ReplicaMetadata
Пространство имен Microsoft.Synchronization.MetadataStorage