DataServiceContext.Execute Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine Anforderung an den Datendienst, um einen bestimmten URI auszuführen.
Überlädt
| Name | Beschreibung |
|---|---|
| Execute<T>(DataServiceQueryContinuation<T>) |
Sendet eine Anforderung an den Datendienst, um die nächste Seite mit Daten in einem seitenseitigen Abfrageergebnis abzurufen. |
| Execute<TElement>(Uri) |
Sendet eine Anforderung an den Datendienst, um einen bestimmten URI auszuführen. |
Execute<T>(DataServiceQueryContinuation<T>)
Sendet eine Anforderung an den Datendienst, um die nächste Seite mit Daten in einem seitenseitigen Abfrageergebnis abzurufen.
public:
generic <typename T>
System::Data::Services::Client::QueryOperationResponse<T> ^ Execute(System::Data::Services::Client::DataServiceQueryContinuation<T> ^ continuation);
public System.Data.Services.Client.QueryOperationResponse<T> Execute<T>(System.Data.Services.Client.DataServiceQueryContinuation<T> continuation);
member this.Execute : System.Data.Services.Client.DataServiceQueryContinuation<'T> -> System.Data.Services.Client.QueryOperationResponse<'T>
Public Function Execute(Of T) (continuation As DataServiceQueryContinuation(Of T)) As QueryOperationResponse(Of T)
Typparameter
- T
Der von der Abfrage zurückgegebene Typ.
Parameter
- continuation
- DataServiceQueryContinuation<T>
Ein DataServiceQueryContinuation<T> Objekt, das die nächste Seite von Daten darstellt, die vom Datendienst zurückgegeben werden sollen.
Gibt zurück
Die Antwort, die die nächste Seite mit Daten im Abfrageergebnis enthält.
Ausnahmen
Wenn während der Ausführung der Anforderung ein Fehler ausgelöst wird oder der Inhalt der Antwortnachricht in Objekte konvertiert wird.
Hinweise
Das angegebene DataServiceQueryContinuation<T> Objekt enthält den URI, der beim Ausführen die nächste Datenseite im Abfrageergebnis zurückgibt.
Gilt für:
Execute<TElement>(Uri)
Sendet eine Anforderung an den Datendienst, um einen bestimmten URI auszuführen.
public:
generic <typename TElement>
System::Collections::Generic::IEnumerable<TElement> ^ Execute(Uri ^ requestUri);
public System.Collections.Generic.IEnumerable<TElement> Execute<TElement>(Uri requestUri);
member this.Execute : Uri -> seq<'Element>
Public Function Execute(Of TElement) (requestUri As Uri) As IEnumerable(Of TElement)
Typparameter
- TElement
Der Typ, den die Abfrage zurückgibt.
Parameter
- requestUri
- Uri
Der URI, an den die Abfrageanforderung gesendet wird. Der URI kann ein beliebiger gültiger Datendienst-URI sein. Kann $-Abfrageparameter enthalten.
Gibt zurück
Die Ergebnisse des Abfragevorgangs.
Ausnahmen
Wenn eine Antwort nicht von einer Anforderung an die requestUri.
Wann requestUri ist null.
Wenn requestUri es sich nicht um einen gültigen URI für den Datendienst handelt.
Wenn während der Ausführung der Anforderung ein Fehler ausgelöst wird oder der Inhalt der Antwortnachricht in Objekte konvertiert wird.
Der Datendienst gibt einen HTTP 404-Fehler zurück: Fehler "Ressource nicht gefunden".
Beispiele
In diesem Beispiel wird eine do…while Schleife verwendet, um Entitäten aus einem ausgelagerten Ergebnis aus dem Datendienst zu laden Customers . Die Execute Methode wird mithilfe des nächsten Link-URI aufgerufen, um die nächste Seite mit Daten zu empfangen.
// 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);
}
' 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
Hinweise
Die Execute Methode wird verwendet, um einen Datendienst nach URI abzufragen. Die Methode bewirkt, dass eine HTTP GET-Anforderung an den Datendienst ausgegeben wird. Der angegebene Anforderungs-URI kann absolut oder relativ sein.
Wenn dies requestUri absolut ist, überprüft diese Methode, ob der URI auf denselben Datendienst verweist, der beim Erstellen des DataServiceContextObjekts angegeben wurde. Wenn dies requestUri relativ ist, entfernt diese Methode alle führenden Schrägstriche und fügt an die bereitgestellten requestUri Elemente beim Erstellen der DataServiceContext. Ein Schrägstrich wird nach dem an den DataServiceContext Konstruktor übergebenen URI angefügt, falls noch kein Uri vorhanden ist.
Wenn diese Methode zurückgegeben wird, wurde die gesamte HTTP-Antwort für die Anforderung aus dem Netzwerkdatenstrom gelesen, die Antwort wurde jedoch nicht verarbeitet. es gibt keine Identitätsauflösung oder Objektmaterialisierung. Die Identitätsauflösung und die vollständige Objektmaterialisierung treten nicht für eine angegebene Entität in der Antwort auf, bis sie aufgezählt wird.