WaitForNonStaleResultsAsOfNow() в RavenDB 4
Я не могу найти эквивалент WaitForNonStaleResultsAsOfNow()
в RavenDB 4 .NET Client API.
В предыдущих версиях это было доступно через IRavenQueryable.Customize()
, но теперь он содержит только WaitForNonStaleResultsAsOf()
а также WaitForNonStaleResults()
, WaitForNonStaleResultsAsOf()
принимает только ETag и не DateTime.
Также я пытался искать WaitForNonStaleResultsAsOfLastWrite()
, но тоже не смог найти. И я не мог воспроизвести поведение самостоятельно, используя IDocumentStore.GetLastWrittenEtag()
так как его нет в 4.0.
Покопавшись еще немного, я обнаружил, что последний ETag будет доступен на Raven.Client.Documents.Operations.DatabaseStatistics
-объект, полученный в ответ Raven.Client.Documents.Commands.GetStatisticsCommand
... Но я не могу понять, как выполнить эту команду в 4.0 либо:(
Любая помощь в достижении этого в RavenDB 4 будет принята с благодарностью.
1 ответ
В v4.0 вы должны использовать только WaitForNonStaleResults
, Это будет работать именно так, как WaitForNonStaleResultsAsOfNow
работал. Он просит сервер подождать запроса, пока не будет достигнут максимальный текущий уровень всех коллекций в запросе.
Обрезной этаг используется для проверки того, что индекс уже обработал документ с заданным этагом. В отличие от Cutoff, который использует даты и подвержен проблемам синхронизации часов между машинами, cutoff etag не зависит как от сервера, так и от клиента, имеющих синхронизированные часы, и может работать без них.
WaitForNonStaleResultsAsOf
будет удален с клиента: http://issues.hibernatingrhinos.com/issue/RavenDB-9678