HttpListener.GetContext Método

Definição

Aguarda uma solicitação de entrada e a retorna quando recebida.

public System.Net.HttpListenerContext GetContext ();

Retornos

Um objeto HttpListenerContext que representa uma solicitação do cliente.

Exceções

Falha em uma chamada de função do Win32. Verifique a propriedade ErrorCode da exceção para determinar a causa da exceção.

Esse objeto não foi iniciado ou está parado no momento.

- ou -

O HttpListener não tem nenhum prefixo URI (Uniform Resource Identifier) ao qual responder.

Este objeto está fechado.

Exemplos

O exemplo de código a seguir demonstra como chamar esse método.

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
    if (!HttpListener.IsSupported)
    {
        Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
        return;
    }
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    if (prefixes == null || prefixes.Length == 0)
      throw new ArgumentException("prefixes");

    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // Note: The GetContext method blocks while waiting for a request.
    HttpListenerContext context = listener.GetContext();
    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();
    listener.Stop();
}

Comentários

Antes de chamar esse método, você deve chamar o Start método e adicionar pelo menos um prefixo de URI para escutar adicionando as cadeias de caracteres de URI ao HttpListenerPrefixCollection retornado pela Prefixes propriedade . Para obter uma descrição detalhada dos prefixos, consulte a visão geral da HttpListener classe.

Esse método é bloqueado enquanto aguarda uma solicitação de entrada. Se você quiser que as solicitações de entrada sejam processadas de forma assíncrona (em threads separados) para que seu aplicativo não bloqueie, use o BeginGetContext método .

Notas aos Chamadores

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede no .NET Framework.

Aplica-se a

Produto Versões
.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