HttpListener.EndGetContext(IAsyncResult) Méthode

Définition

Met fin à une opération asynchrone pour récupérer une demande du client entrante.

public System.Net.HttpListenerContext EndGetContext (IAsyncResult asyncResult);

Paramètres

asyncResult
IAsyncResult

Objet IAsyncResult qui a été obtenu au moment du démarrage de l'opération asynchrone.

Retours

Objet HttpListenerContext qui représente la demande du client.

Exceptions

asyncResult n'a pas été obtenu en appelant la méthode BeginGetContext(AsyncCallback, Object).

asyncResult a la valeur null.

Un appel de fonction Win32 a échoué. Vérifiez la propriété ErrorCode de l’exception pour déterminer la cause de l’exception.

La méthode EndGetContext(IAsyncResult) a déjà été appelée pour l'objet asyncResult spécifié.

Cet objet est fermé.

Exemples

L’exemple de code suivant montre l’implémentation d’une méthode de rappel qui appelle la EndGetContext méthode.

public static void ListenerCallback(IAsyncResult result)
{
    HttpListener listener = (HttpListener) result.AsyncState;
    // Call EndGetContext to complete the asynchronous operation.
    HttpListenerContext context = listener.EndGetContext(result);
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
}

Remarques

La EndGetContext méthode est appelée, généralement dans une méthode de rappel définie par l’application appelée par un délégué, pour obtenir l’objet HttpListenerContext qui contient une demande cliente entrante et sa réponse associée. Cette méthode termine une opération précédemment démarrée en appelant la BeginGetContext méthode. Si l’opération n’est pas terminée, cette méthode se bloque jusqu’à ce qu’elle le fasse.

Étant donné que l’appel de la EndGetContext méthode nécessite l’objet HttpListener , cet objet est généralement passé dans une méthode de rappel à l’aide de l’objet d’état passé à la BeginGetContext méthode. Vous pouvez obtenir cet objet d’état à l’aide de la AsyncState propriété de l’objet asyncResult .

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez Appel de méthodes synchrones de manière asynchrone.

Notes pour les appelants

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1