HttpListener.EndGetContext(IAsyncResult) HttpListener.EndGetContext(IAsyncResult) HttpListener.EndGetContext(IAsyncResult) HttpListener.EndGetContext(IAsyncResult) Method

Définition

Met fin à une opération asynchrone pour récupérer une demande du client entrante.Completes an asynchronous operation to retrieve an incoming client request.

public:
 System::Net::HttpListenerContext ^ EndGetContext(IAsyncResult ^ asyncResult);
public System.Net.HttpListenerContext EndGetContext (IAsyncResult asyncResult);
member this.EndGetContext : IAsyncResult -> System.Net.HttpListenerContext
Public Function EndGetContext (asyncResult As IAsyncResult) As HttpListenerContext

Paramètres

asyncResult
IAsyncResult IAsyncResult IAsyncResult IAsyncResult

Objet IAsyncResult qui a été obtenu au moment du démarrage de l'opération asynchrone.An IAsyncResult object that was obtained when the asynchronous operation was started.

Retours

Objet HttpListenerContext qui représente la demande du client.An HttpListenerContext object that represents the client request.

Exceptions

asyncResult n’a pas été obtenu en appelant le BeginGetContext(AsyncCallback, Object) (méthode).asyncResult was not obtained by calling the BeginGetContext(AsyncCallback, Object) method.

Un appel de fonction Win32 a échoué.A Win32 function call failed. Vérifiez la propriété ErrorCode de l’exception pour déterminer la cause de l’exception.Check the exception's ErrorCode property to determine the cause of the exception.

Le EndGetContext(IAsyncResult) méthode a déjà été appelée pour spécifié asyncResult objet.The EndGetContext(IAsyncResult) method was already called for the specified asyncResult object.

Exemples

L’exemple de code suivant montre l’implémentation d’une méthode de rappel qui appelle le EndGetContext (méthode).The following code example shows the implementation of a callback method that calls the EndGetContext method.

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();
}
Public Shared Sub ListenerCallback(ByVal result As IAsyncResult)
    Dim listener As HttpListener = CType(result.AsyncState, HttpListener)
    ' Call EndGetContext to complete the asynchronous operation.
    Dim context As HttpListenerContext = listener.EndGetContext(result)
    Dim request As HttpListenerRequest = context.Request
    ' Obtain a response object.
    Dim response As HttpListenerResponse = context.Response
    ' Construct a response.
    Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
    Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
    ' Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length
    Dim output As System.IO.Stream = response.OutputStream
    output.Write(buffer, 0, buffer.Length)
    ' You must close the output stream.
    output.Close()
End Sub

Remarques

Le EndGetContext méthode est appelée, généralement dans une méthode de rappel défini par l’application appelée par un délégué, pour obtenir le HttpListenerContext objet qui contient une demande entrante du client et sa réponse associée.The EndGetContext method is called, usually within an application-defined callback method invoked by a delegate, to obtain the HttpListenerContext object that contains an incoming client request and its associated response. Cette méthode termine une opération démarrée précédemment en appelant le BeginGetContext (méthode).This method completes an operation previously started by calling the BeginGetContext method. Si l’opération n’est pas terminée, cette méthode se bloque jusqu'à ce que c’est le cas.If the operation has not completed, this method blocks until it does.

Étant donné que l’appel le EndGetContext méthode requiert le HttpListener de l’objet, cet objet est généralement passé dans une méthode de rappel par à l’aide de l’objet d’état passé dans le BeginGetContext (méthode).Because calling the EndGetContext method requires the HttpListener object, this object is typically passed into a callback method by using the state object passed into the BeginGetContext method. Vous pouvez obtenir cet objet d’état à l’aide de la AsyncState propriété de la asyncResult objet.You can obtain this state object by using the AsyncState property of the asyncResult object.

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez Calling Synchronous Methods AsynchronouslyFor detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

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.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez le traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

S’applique à