Estoy tratando de obtener todo de un servicio de Azure y devuelve un AsyncPageable. Según el documento dice
Una colección de valores que pueden requerir múltiples solicitudes de servicio para iterar.
¿Significa eso que es igual a hacer la solicitud de un solo elemento varias veces con un bucle?
Si una llamada de servicio devuelve varios valores en las páginas, devolvería Pageable<T> / AsyncPageable<T> como resultado. Consulte Consumir métodos de servicio que devuelvan AsyncPageable .
Para obtener más claridad, eche un vistazo a lo siguiente: Esto muestra el control sobre la recepción de páginas de valores del servicio, use AsyncPageable<T>.AsPages :
// call a service method, which returns AsyncPageable<T> AsyncPageable<SecretProperties> response = client.GetPropertiesOfSecretsAsync(); await foreach (Page<SecretProperties> page in response.AsPages()) { // enumerate through page items foreach (SecretProperties secretProperties in page.Values) { Console.WriteLine(secretProperties.Name); } // get continuation token that can be used in AsPages call to resume enumeration Console.WriteLine(page.ContinuationToken); } Si su proyecto no tiene habilitado C# 8.0, aún puede iterar sobre AsyncPageable usando un bucle while :
// call a service method, which returns AsyncPageable<T> AsyncPageable<SecretProperties> response = client.GetPropertiesOfSecretsAsync(); IAsyncEnumerator<SecretProperties> enumerator = response.GetAsyncEnumerator(); try { while (await enumerator.MoveNextAsync()) { SecretProperties secretProperties = enumerator.Current; Console.WriteLine(secretProperties.Name); } } finally { await enumerator.DisposeAsync(); }Consulte los ejemplos de Azure.Core Response para obtener más información al respecto.
Para cambiar el tamaño de la página, puede usar el parámetro pageSizeHint para el método AsPages .