public async Task CloudFileShareListFilesAndDirectoriesSegmentedAsync() { CloudFileShare share = GetRandomShareReference(); try { await share.CreateAsync(); List <string> fileNames = await CreateFilesAsync(share, 3); CloudFileDirectory rootDirectory = share.GetRootDirectoryReference(); FileContinuationToken token = null; do { FileResultSegment results = await rootDirectory.ListFilesAndDirectoriesSegmentedAsync(1, token, null, null); int count = 0; foreach (IListFileItem fileItem in results.Results) { Assert.IsInstanceOfType(fileItem, typeof(CloudFile)); Assert.IsTrue(fileNames.Remove(((CloudFile)fileItem).Name)); count++; } Assert.AreEqual(1, count); token = results.ContinuationToken; }while (token != null); Assert.AreEqual(0, fileNames.Count); } finally { share.DeleteIfExistsAsync().Wait(); } }
public static async Task<IEnumerable<IListFileItem>> ListFilesAndDirectoriesAsync(CloudFileDirectory directory, int? maxResults, FileRequestOptions options, OperationContext operationContext) { List<IListFileItem> results = new List<IListFileItem>(); FileContinuationToken token = null; do { FileResultSegment resultSegment = await directory.ListFilesAndDirectoriesSegmentedAsync(maxResults, token, options, operationContext); results.AddRange(resultSegment.Results); token = resultSegment.ContinuationToken; } while (token != null); return results; }
public static async Task <IEnumerable <IListFileItem> > ListFilesAndDirectoriesAsync(CloudFileDirectory directory, string prefix, int?maxResults, FileRequestOptions options, OperationContext operationContext) { List <IListFileItem> results = new List <IListFileItem>(); FileContinuationToken token = null; do { FileResultSegment resultSegment = await directory.ListFilesAndDirectoriesSegmentedAsync(prefix, maxResults, token, options, operationContext); results.AddRange(resultSegment.Results); token = resultSegment.ContinuationToken; }while (token != null); return(results); }
public async Task EnumerateFilesAndDirectoriesAsync(CloudFileDirectory directory, Action<IListFileItem> enumerationAction, FileRequestOptions options, OperationContext operationContext, CancellationToken token) { FileContinuationToken continuationToken = null; do { var segment = await directory.ListFilesAndDirectoriesSegmentedAsync(null, continuationToken, options, operationContext, token); foreach (var item in segment.Results) { enumerationAction(item); } continuationToken = segment.ContinuationToken; } while (continuationToken != null); }