을 계속 토큰과 시나리오 나는 종종이 헬퍼 클래스를 사용 :
으로 793,210
: 이제
public static async Task<PagedResults<T>> ToPagedResults<T>(this IQueryable<T> source)
{
var documentQuery = source.AsDocumentQuery();
var results = new PagedResults<T>();
try
{
var queryResult = await documentQuery.ExecuteNextAsync<T>();
if (!queryResult.Any())
{
return results;
}
results.ContinuationToken = queryResult.ResponseContinuation;
results.Results.AddRange(queryResult);
}
catch
{
//documentQuery.ExecuteNextAsync throws an Exception if there are no results
return results;
}
return results;
}
, 당신이 더 많거나 적은 같은 코드에서 사용할 수 있습니다 :
이
var options = new FeedOptions() { MaxItemCount = 20 };//If 20 is your page size
var continuationToken = string.Empty;
var allResults = new List<User>();
do{
if (!string.IsNullOrEmpty(continuationToken))
{
options.RequestContinuation = continuationToken;
}
var userQuery = _client.CreateDocumentQuery<User>(_uriUsersCollection, queryStr, options).ToPagedResults();
continuationToken = userQuery.ContinuationToken;
allResults.AddRange(userQuery.Results);
}while(!string.IsNullOrEmpty(continuationToken));
좋은 포인터, 이것은 아마도 근본 원인이다. –