Compartir a través de


QueryResponse<T>.MoveNextAsync(QueryOptions, CancellationToken) Método

Definición

Avanza hasta el siguiente elemento de los resultados de la consulta.

public System.Threading.Tasks.Task<bool> MoveNextAsync (Microsoft.Azure.Devices.QueryOptions queryOptions = default, System.Threading.CancellationToken cancellationToken = default);
member this.MoveNextAsync : Microsoft.Azure.Devices.QueryOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function MoveNextAsync (Optional queryOptions As QueryOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parámetros

queryOptions
QueryOptions
cancellationToken
CancellationToken

Devoluciones

True si había un elemento siguiente en los resultados de la consulta. False si no había más elementos.

Excepciones

Si este método realizó una solicitud a IoT Hub para obtener la siguiente página de elementos, pero IoT Hub respondió a la solicitud con un código de estado no correcto. Por ejemplo, si la solicitud proporcionada se ha limitado, IotHubServiceException se produce con ThrottlingException . Para obtener una lista completa de los posibles casos de error, vea IotHubServiceErrorCode.

Si este método realizó una solicitud a IoT Hub para obtener la siguiente página de elementos, pero se produce un error en la solicitud HTTP debido a un problema subyacente, como la conectividad de red, el error de DNS o la validación del certificado de servidor.

Si el token de cancelación proporcionado ha solicitado la cancelación.

Ejemplos

QueryResponse<Twin> queriedTwins = await iotHubServiceClient.Query.CreateAsync<Twin>("SELECT * FROM devices"); while (await queriedTwins.MoveNextAsync()) { Twin queriedTwin = queriedTwins.Current; Console.WriteLine(queriedTwin); }

Comentarios

Al igual que con una implementación más típica de IEnumerator, se debe llamar a esta función una vez antes de comprobar Current.

Esta función es asincrónica porque puede realizar una solicitud de servicio para capturar la siguiente página de resultados si la página actual de resultados ya se ha avanzado. Tenga en cuenta que esta función devolverá True incluso si está al final de una página determinada de elementos siempre y cuando haya al menos una página más que se va a capturar.

Se aplica a