Share via


HttpClient.SendRequestAsync Método

Definición

Sobrecargas

SendRequestAsync(HttpRequestMessage)

Envía una solicitud HTTP como una operación asincrónica. Para obtener instrucciones de programación para la clase HttpClient y ejemplos de código, consulte el tema conceptual HttpClient .

SendRequestAsync(HttpRequestMessage, HttpCompletionOption)

Enviar una solicitud HTTP con una opción de finalización HTTP como una operación asincrónica. Para obtener instrucciones de programación para la clase HttpClient y ejemplos de código, consulte el tema conceptual HttpClient .

SendRequestAsync(HttpRequestMessage)

Envía una solicitud HTTP como una operación asincrónica. Para obtener instrucciones de programación para la clase HttpClient y ejemplos de código, consulte el tema conceptual HttpClient .

public:
 virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.Overload("SendRequestAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)

Parámetros

request
HttpRequestMessage

Mensaje de la solicitud HTTP que se va a enviar.

Devoluciones

Objeto que representa la operación asincrónica.

Atributos

Comentarios

Esta operación no se bloqueará. La IAsyncOperationWithProgress devuelta (de HttpResponseMessage y HttpProgress) se completa después de leer toda la respuesta (incluido el contenido).

El httpRequestMessage pasado en el parámetro de solicitud permite que el método SendRequestAsync establezca encabezados en el mensaje de solicitud, así como en el contenido HTTP que se va a enviar. En cambio, los métodos PostAsync y PutAsync solo permiten establecer un conjunto más limitado de encabezados de contenido HTTP.

A continuación se muestran las excepciones que produce esta función.

E_ILLEGAL_METHOD_CALL

La instancia de HttpClient ya envió el mensaje de solicitud.

Control de excepciones

Debe escribir código para controlar las excepciones al llamar a este método. Las excepciones pueden deberse a errores de validación de parámetros, errores de resolución de nombres y errores de red. Las excepciones de los errores de red (pérdida de conectividad, errores de conexión y errores de servidor HTTP, por ejemplo) pueden producirse en cualquier momento. Estos errores hacen que se arrojen excepciones. Si la aplicación no la controla, una excepción puede hacer que el tiempo de ejecución finalice toda la aplicación. Para obtener más información sobre cómo controlar las excepciones, consulte Control de excepciones en aplicaciones de red y Cómo: Asignar HRESULTs y Excepciones.

Consulte también

Se aplica a

SendRequestAsync(HttpRequestMessage, HttpCompletionOption)

Enviar una solicitud HTTP con una opción de finalización HTTP como una operación asincrónica. Para obtener instrucciones de programación para la clase HttpClient y ejemplos de código, consulte el tema conceptual HttpClient .

public:
 virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request, HttpCompletionOption completionOption) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request, HttpCompletionOption const& completionOption);
[Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
function sendRequestAsync(request, completionOption)
Public Function SendRequestAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)

Parámetros

request
HttpRequestMessage

Mensaje de la solicitud HTTP que se va a enviar.

completionOption
HttpCompletionOption

Valor que indica si la operación HttpClient se considera completada cuando se lee toda la respuesta o cuando solo se leen los encabezados.

Devoluciones

Objeto que representa la operación asincrónica.

Atributos

Comentarios

Esta operación no se bloqueará. La IAsyncOperationWithProgress devuelta (de HttpResponseMessage y HttpProgress) se completa en función del valor del parámetro completionOption .

El httpRequestMessage pasado en el parámetro de solicitud permite que el método SendRequestAsync establezca encabezados en el mensaje de solicitud, así como en el contenido HTTP que se va a enviar. En cambio, los métodos PostAsync y PutAsync solo permiten establecer un conjunto más limitado de encabezados de contenido HTTP.

A continuación se muestran las excepciones que produce esta función.

E_ILLEGAL_METHOD_CALL

La instancia de HttpClient ya envió el mensaje de solicitud.

Control de excepciones

Debe escribir código para controlar las excepciones al llamar a este método. Las excepciones pueden deberse a errores de validación de parámetros, errores de resolución de nombres y errores de red. Las excepciones de los errores de red (pérdida de conectividad, errores de conexión y errores de servidor HTTP, por ejemplo) pueden producirse en cualquier momento. Estos errores hacen que se arrojen excepciones. Si la aplicación no la controla, una excepción puede hacer que el tiempo de ejecución finalice toda la aplicación. Para obtener más información sobre cómo controlar las excepciones, consulte Control de excepciones en aplicaciones de red y Cómo: Asignar HRESULTs y Excepciones.

Consulte también

Se aplica a