Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase HttpClient

.NET Framework (current version)
 

Publicado: octubre de 2016

Proporciona una clase base para enviar solicitudes HTTP y recibir respuestas HTTP de un recurso identificado por un URI.

Espacio de nombres:   System.Net.Http
Ensamblado:  System.Net.Http (en System.Net.Http.dll)


public class HttpClient : HttpMessageInvoker

NombreDescripción
System_CAPS_pubmethodHttpClient()

Inicializa una nueva instancia de la clase HttpClient.

System_CAPS_pubmethodHttpClient(HttpMessageHandler)

Inicializa una nueva instancia de la clase HttpClient con un controlador específico.

System_CAPS_pubmethodHttpClient(HttpMessageHandler, Boolean)

Inicializa una nueva instancia de la clase HttpClient con un controlador específico.

NombreDescripción
System_CAPS_pubpropertyBaseAddress

Obtiene o establece la dirección base de Identificador uniforme de recursos (URI) del recurso de Internet utilizado cuando se envían solicitudes.

System_CAPS_pubpropertyDefaultRequestHeaders

Obtiene los encabezados que se deben enviar con cada solicitud.

System_CAPS_pubpropertyMaxResponseContentBufferSize

Obtiene o establece el número máximo de bytes que se van a almacenar en búfer al leer el contenido de la respuesta.

System_CAPS_pubpropertyTimeout

Obtiene o establece el tiempo de espera hasta que se agota el tiempo de espera de la solicitud.

NombreDescripción
System_CAPS_pubmethodCancelPendingRequests()

Cancela todas las solicitudes pendientes en esta instancia.

System_CAPS_pubmethodDeleteAsync(String)

Envía una solicitud DELETE al URI especificado como una operación asincrónica.

System_CAPS_pubmethodDeleteAsync(String, CancellationToken)

Envía una solicitud DELETE al URI especificado con un token de cancelación como operación asincrónica.

System_CAPS_pubmethodDeleteAsync(Uri)

Envía una solicitud DELETE al URI especificado como una operación asincrónica.

System_CAPS_pubmethodDeleteAsync(Uri, CancellationToken)

Envía una solicitud DELETE al URI especificado con un token de cancelación como operación asincrónica.

System_CAPS_pubmethodDispose()

Versiones de los recursos no administrados y desecha los recursos administrados utilizado por la HttpMessageInvoker.(Heredado de HttpMessageInvoker).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que usa el objeto HttpClient y, de forma opcional, desecha los recursos administrados.(Invalida HttpMessageInvoker.Dispose(Boolean)).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetAsync(String)

Envía una solicitud GET al URI especificado como una operación asincrónica.

System_CAPS_pubmethodGetAsync(String, CancellationToken)

Envía una solicitud GET al URI especificado con un token de cancelación como operación asincrónica.

System_CAPS_pubmethodGetAsync(String, HttpCompletionOption)

Envía una solicitud GET al URI especificado con una opción de finalización de HTTP como operación asincrónica.

System_CAPS_pubmethodGetAsync(String, HttpCompletionOption, CancellationToken)

Envía una solicitud GET al URI especificado con una opción de finalización de HTTP y un token de cancelación como operación asincrónica.

System_CAPS_pubmethodGetAsync(Uri)

Envía una solicitud GET al URI especificado como una operación asincrónica.

System_CAPS_pubmethodGetAsync(Uri, CancellationToken)

Envía una solicitud GET al URI especificado con un token de cancelación como operación asincrónica.

System_CAPS_pubmethodGetAsync(Uri, HttpCompletionOption)

Envía una solicitud GET al URI especificado con una opción de finalización de HTTP como operación asincrónica.

System_CAPS_pubmethodGetAsync(Uri, HttpCompletionOption, CancellationToken)

Envía una solicitud GET al URI especificado con una opción de finalización de HTTP y un token de cancelación como operación asincrónica.

System_CAPS_pubmethodGetByteArrayAsync(String)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una matriz de bytes en una operación asincrónica.

System_CAPS_pubmethodGetByteArrayAsync(Uri)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una matriz de bytes en una operación asincrónica.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetStreamAsync(String)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una secuencia en una operación asincrónica.

System_CAPS_pubmethodGetStreamAsync(Uri)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una secuencia en una operación asincrónica.

System_CAPS_pubmethodGetStringAsync(String)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una cadena en una operación asincrónica.

System_CAPS_pubmethodGetStringAsync(Uri)

Envía una solicitud GET al URI especificado y devuelve el cuerpo de la respuesta como una cadena en una operación asincrónica.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodPostAsync(String, HttpContent)

Envía una solicitud POST al URI especificado como una operación asincrónica.

System_CAPS_pubmethodPostAsync(String, HttpContent, CancellationToken)

Envía una solicitud POST con un token de cancelación como una operación asincrónica.

System_CAPS_pubmethodPostAsync(Uri, HttpContent)

Envía una solicitud POST al URI especificado como una operación asincrónica.

System_CAPS_pubmethodPostAsync(Uri, HttpContent, CancellationToken)

Envía una solicitud POST con un token de cancelación como una operación asincrónica.

System_CAPS_pubmethodPutAsync(String, HttpContent)

Envía una solicitud PUT al URI especificado como una operación asincrónica.

System_CAPS_pubmethodPutAsync(String, HttpContent, CancellationToken)

Envía una solicitud PUT con un token de cancelación como una operación asincrónica.

System_CAPS_pubmethodPutAsync(Uri, HttpContent)

Envía una solicitud PUT al URI especificado como una operación asincrónica.

System_CAPS_pubmethodPutAsync(Uri, HttpContent, CancellationToken)

Envía una solicitud PUT con un token de cancelación como una operación asincrónica.

System_CAPS_pubmethodSendAsync(HttpRequestMessage)

Envía una solicitud HTTP como una operación asincrónica.

System_CAPS_pubmethodSendAsync(HttpRequestMessage, CancellationToken)

Envía una solicitud HTTP como una operación asincrónica.(Invalida HttpMessageInvoker.SendAsync(HttpRequestMessage, CancellationToken)).

System_CAPS_pubmethodSendAsync(HttpRequestMessage, HttpCompletionOption)

Envía una solicitud HTTP como una operación asincrónica.

System_CAPS_pubmethodSendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Envía una solicitud HTTP como una operación asincrónica.

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

The T:System.Net.Http.HttpClient class instance acts as a session to send HTTP requests. An T:System.Net.Http.HttpClient instance is a collection of settings applied to all requests executed by that instance. In addition, every T:System.Net.Http.HttpClient instance uses its own connection pool, isolating its requests from requests executed by other T:System.Net.Http.HttpClient instances.

The T:System.Net.Http.HttpClient also acts as a base class for more specific HTTP clients. An example would be a FacebookHttpClient providing additional methods specific to a Facebook web service (a GetFriends method, for instance).

By default, T:System.Net.HttpWebRequest will be used to send requests to the server. This behavior can be modified by specifying a different channel in one of the constructor overloads taking a T:System.Net.Http.HttpMessageHandler instance as parameter. If features like authentication or caching are required, T:System.Net.Http.WebRequestHandler can be used to configure settings and the instance can be passed to the constructor. The returned handler can be passed to one of the constructor overloads taking a T:System.Net.Http.HttpMessageHandler parameter.

If an app using T:System.Net.Http.HttpClient and related classes in the N:System.Net.Http namespace intends to download large amounts of data (50 megabytes or more), then the app should stream those downloads and not use the default buffering. If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

The following methods are thread safe:

  1. CancelPendingRequests

  2. DeleteAsync

  3. GetAsync

  4. GetByteArrayAsync

  5. GetStreamAsync

  6. GetStringAsync

  7. PostAsync

  8. PutAsync

  9. SendAsync

HttpClient is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors. Below is an example using HttpClient correctly.

public class GoodController : ApiController
{
    // OK
    private static readonly HttpClient HttpClient;

    static GoodController()
    {
        HttpClient = new HttpClient();
    }
}

 static async void Main()
{

    // Create a New HttpClient object.
    HttpClient client = new HttpClient();

    // Call asynchronous network methods in a try/catch block to handle exceptions
    try	
    {
       HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
       response.EnsureSuccessStatusCode();
       string responseBody = await response.Content.ReadAsStringAsync();
       // Above three lines can be replaced with new helper method below
       // string responseBody = await client.GetStringAsync(uri);

       Console.WriteLine(responseBody);
    }  
    catch(HttpRequestException e)
    {
       Console.WriteLine("\nException Caught!");	
       Console.WriteLine("Message :{0} ",e.Message);
    }

    // Need to call dispose on the HttpClient object
    // when done using it, so the app doesn't leak resources
    client.Dispose(true);
 }

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: