本文整理汇总了C#中Raven.Database.DocumentDatabase.WaitForIndexToBecomeNonStale方法的典型用法代码示例。如果您正苦于以下问题:C# DocumentDatabase.WaitForIndexToBecomeNonStale方法的具体用法?C# DocumentDatabase.WaitForIndexToBecomeNonStale怎么用?C# DocumentDatabase.WaitForIndexToBecomeNonStale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Database.DocumentDatabase
的用法示例。
在下文中一共展示了DocumentDatabase.WaitForIndexToBecomeNonStale方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRevisionsRequiringActivation
public static IList<string> GetRevisionsRequiringActivation(DocumentDatabase database)
{
var currentTime = SystemTime.UtcNow;
database.WaitForIndexToBecomeNonStale(TemporalConstants.PendingRevisionsIndex, currentTime, null);
const int pageSize = 1024;
var qs = string.Format("{0}:[* TO {1:o}]", Activation, currentTime);
var query = new IndexQuery {
Start = 0,
PageSize = pageSize,
Cutoff = currentTime,
Query = qs,
FieldsToFetch = new[] { Constants.DocumentIdFieldName },
SortedFields = new[] { new SortedField(Activation) }
};
var list = new List<string>();
while (true)
{
var results = database.Query(TemporalConstants.PendingRevisionsIndex, query).Results;
list.AddRange(results.Select(x => x.Value<string>(Constants.DocumentIdFieldName)));
if (results.Count < pageSize)
return list;
query.Start += pageSize;
}
}
示例2: GetNextActivationDate
public static DateTime GetNextActivationDate(DocumentDatabase database)
{
var currentTime = SystemTime.UtcNow;
database.WaitForIndexToBecomeNonStale(TemporalConstants.PendingRevisionsIndex, currentTime, null);
var query = new IndexQuery {
Start = 0,
PageSize = 1,
Cutoff = currentTime,
FieldsToFetch = new[] { Activation },
SortedFields = new[] { new SortedField(Activation) }
};
var result = database.Query(TemporalConstants.PendingRevisionsIndex, query).Results.FirstOrDefault();
return result == null ? DateTime.MaxValue : result.Value<DateTime>(Activation);
}