Partager via


Classe DataServiceQueryContinuation<T>

Encapsule l'URI qui retourne la page suivante d'un résultat de requête Services de données WCF paginé. 

Hiérarchie d'héritage

System.Object
  System.Data.Services.Client.DataServiceQueryContinuation
    System.Data.Services.Client.DataServiceQueryContinuation<T>

Espace de noms :  System.Data.Services.Client
Assembly :  Microsoft.Data.Services.Client (en Microsoft.Data.Services.Client.dll)

Syntaxe

'Déclaration
Public NotInheritable Class DataServiceQueryContinuation(Of T) _
    Inherits DataServiceQueryContinuation
'Utilisation
Dim instance As DataServiceQueryContinuation(Of T)
public sealed class DataServiceQueryContinuation<T> : DataServiceQueryContinuation
generic<typename T>
public ref class DataServiceQueryContinuation sealed : public DataServiceQueryContinuation
[<SealedAttribute>]
type DataServiceQueryContinuation<'T> =  
    class
        inherit DataServiceQueryContinuation
    end
JScript ne prend pas en charge les types et les méthodes génériques.

Paramètres de type

  • T
    Type de jeton de continuation.

Le type DataServiceQueryContinuation<T> expose les membres suivants.

Propriétés

  Nom Description
Propriété publique NextLinkUri Obtient l'URI qui est utilisé pour retourner la page de données suivante depuis un résultat de requête paginé. (hérité de DataServiceQueryContinuation.)

Haut de la page

Méthodes

  Nom Description
Méthode publique Equals (hérité de Object.)
Méthode protégée Finalize (hérité de Object.)
Méthode publique GetHashCode (hérité de Object.)
Méthode publique GetType (hérité de Object.)
Méthode protégée MemberwiseClone (hérité de Object.)
Méthode publique ToString Retourne l'URI de lien suivant sous forme de chaîne. (hérité de DataServiceQueryContinuation.)

Haut de la page

Exemples

Cet exemple utilise une boucle do…while pour charger des entités Customers à partir de résultats paginés du service de données.

' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)
Dim token As DataServiceQueryContinuation(Of Customer) = Nothing
Dim pageCount = 0

Try
    ' Execute the query for all customers and get the response object.
    Dim response As QueryOperationResponse(Of Customer) = _
        CType(context.Customers.Execute(), QueryOperationResponse(Of Customer))

    ' With a paged response from the service, use a do...while loop 
    ' to enumerate the results before getting the next link.
    Do
        ' Write the page number.
        Console.WriteLine("Page {0}:", pageCount + 1)

        ' If nextLink is not null, then there is a new page to load.
        If token IsNot Nothing Then
            ' Load the new page from the next link URI.
            response = CType(context.Execute(Of Customer)(token),  _
            QueryOperationResponse(Of Customer))
        End If

        ' Enumerate the customers in the response.
        For Each customer As Customer In response
            Console.WriteLine(vbTab & "Customer Name: {0}", customer.CompanyName)
        Next

        ' Get the next link, and continue while there is a next link.
        token = response.GetContinuation()
    Loop While token IsNot Nothing
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try
// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);
DataServiceQueryContinuation<Customer> token = null;
int pageCount = 0; 

try
{ 
    // Execute the query for all customers and get the response object.
    QueryOperationResponse<Customer> response =
        context.Customers.Execute() as QueryOperationResponse<Customer>;

    // With a paged response from the service, use a do...while loop 
    // to enumerate the results before getting the next link.
    do
    {
        // Write the page number.
        Console.WriteLine("Page {0}:", pageCount++);

        // If nextLink is not null, then there is a new page to load.
        if (token != null)
        {
            // Load the new page from the next link URI.
            response = context.Execute<Customer>(token)
                as QueryOperationResponse<Customer>;
        }

        // Enumerate the customers in the response.
        foreach (Customer customer in response)
        {
            Console.WriteLine("\tCustomer Name: {0}", customer.CompanyName);
        }
    }

    // Get the next link, and continue while there is a next link.
    while ((token = response.GetContinuation()) != null);
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}

Sécurité des threads

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms System.Data.Services.Client

Autres ressources

Chargement de contenu différé (WCF Data Services)