HttpListener.EndGetContext(IAsyncResult) Metodo

Definizione

Completa un'operazione asincrona per recuperare una richiesta del client in arrivo.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

Parametri

asyncResult
IAsyncResult

Oggetto IAsyncResult ottenuto all'avvio dell'operazione asincrona.An IAsyncResult object that was obtained when the asynchronous operation was started.

Restituisce

Oggetto HttpListenerContext che rappresenta la richiesta del client.An HttpListenerContext object that represents the client request.

Eccezioni

asyncResult non è stato ottenuto chiamando il metodo BeginGetContext(AsyncCallback, Object).asyncResult was not obtained by calling the BeginGetContext(AsyncCallback, Object) method.

asyncResult è null.asyncResult is null.

Errore di una chiamata di funzione Win32.A Win32 function call failed. Verificare la proprietà ErrorCode dell'eccezione per determinare la causa dell'eccezione.Check the exception's ErrorCode property to determine the cause of the exception.

Il metodo EndGetContext(IAsyncResult) era già stato chiamato per l'oggetto asyncResult specificato.The EndGetContext(IAsyncResult) method was already called for the specified asyncResult object.

Questo oggetto è chiuso.This object is closed.

Esempi

Nell'esempio di codice seguente viene illustrata l'implementazione di un metodo di callback che chiama il metodo EndGetContext.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

Commenti

Il metodo EndGetContext viene chiamato, in genere all'interno di un metodo di callback definito dall'applicazione richiamato da un delegato, per ottenere l'oggetto HttpListenerContext che contiene una richiesta client in ingresso e la relativa risposta associata.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. Questo metodo completa un'operazione avviata in precedenza chiamando il metodo BeginGetContext.This method completes an operation previously started by calling the BeginGetContext method. Se l'operazione non è stata completata, questo metodo si blocca fino a quando non lo esegue.If the operation has not completed, this method blocks until it does.

Poiché la chiamata al metodo EndGetContext richiede l'oggetto HttpListener, questo oggetto viene in genere passato a un metodo di callback utilizzando l'oggetto di stato passato nel metodo BeginGetContext.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. È possibile ottenere questo oggetto stato usando la proprietà AsyncState dell'oggetto asyncResult.You can obtain this state object by using the AsyncState property of the asyncResult object.

Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere chiamata asincrona dei metodi sincroniFor detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

Note per i chiamanti

Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso.This member outputs trace information when you enable network tracing in your application. Per ulteriori informazioni, vedere la pagina relativa alla traccia di rete nel .NET Framework.For more information, see Network Tracing in the .NET Framework.

Si applica a