Поделиться через


Метод 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