HttpListener.EndGetContext(IAsyncResult) Metoda

Definice

Dokončí asynchronní operaci načtení příchozího požadavku klienta.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

Parametry

asyncResult
IAsyncResult

IAsyncResultObjekt, který byl získán při spuštění asynchronní operace.An IAsyncResult object that was obtained when the asynchronous operation was started.

Návraty

HttpListenerContext

HttpListenerContextObjekt, který představuje požadavek klienta.An HttpListenerContext object that represents the client request.

Výjimky

asyncResult nebyla získána voláním BeginGetContext(AsyncCallback, Object) metody.asyncResult was not obtained by calling the BeginGetContext(AsyncCallback, Object) method.

asyncResult je null.asyncResult is null.

Volání funkce Win32 se nezdařilo.A Win32 function call failed. Zkontrolujte ErrorCode vlastnost výjimky a určete příčinu výjimky.Check the exception's ErrorCode property to determine the cause of the exception.

EndGetContext(IAsyncResult)Metoda již byla pro zadaný asyncResult objekt volána.The EndGetContext(IAsyncResult) method was already called for the specified asyncResult object.

Tento objekt je uzavřený.This object is closed.

Příklady

Následující příklad kódu ukazuje implementaci metody zpětného volání, která volá EndGetContext metodu.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

Poznámky

EndGetContextMetoda je volána, obvykle v rámci metody zpětného volání definovaného aplikací, vyvolanou delegátem k získání HttpListenerContext objektu, který obsahuje příchozí požadavek klienta a jeho přidruženou odpověď.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. Tato metoda dokončí dříve spuštěnou operaci voláním BeginGetContext metody.This method completes an operation previously started by calling the BeginGetContext method. Pokud operace nebyla dokončena, tato metoda zablokuje, dokud ji neudělá.If the operation has not completed, this method blocks until it does.

Vzhledem k tomu EndGetContext , že volání metody vyžaduje HttpListener objekt, tento objekt je obvykle předán metodě zpětného volání pomocí objektu State předaného BeginGetContext metodě.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. Tento objekt stavu lze získat pomocí AsyncState vlastnosti asyncResult objektu.You can obtain this state object by using the AsyncState property of the asyncResult object.

Podrobné informace o použití asynchronního programovacího modelu naleznete v tématu asynchronní volání synchronních metod .For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

Poznámky pro volající

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě.This member outputs trace information when you enable network tracing in your application. Další informace najdete v tématu trasování sítě v .NET Framework.For more information, see Network Tracing in the .NET Framework.

Platí pro