Compartilhar via


IHttpFilter.SendRequestAsync(HttpRequestMessage) Método

Definição

Envie uma solicitação HTTP na instância IHttpFilter como uma operação assíncrona.

public:
 IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request);
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[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

A mensagem de solicitação HTTP a ser enviada.

Retornos

O objeto que representa a operação assíncrona.

Atributos

Comentários

Os filtros personalizados são implementados no método SendRequestAsync em sua interface IHttpFilter .

As classes no namespace Windows.Web.Http dão suporte ao uso de filtros com base nas classes no namespace Windows.Web.Http.Filters . A classe HttpClient no namespace Windows.Web.Http fornece uma classe base para enviar solicitações HTTP e receber respostas HTTP. Os filtros fornecem um mecanismo de manipulador para ajudar com problemas comuns de serviço HTTP. Filtros simples podem ser encadeados em uma sequência para lidar com problemas de serviço HTTP mais complexos.

Um filtro HTTP é uma caixa preta que usa uma mensagem de solicitação HTTP e produz uma mensagem de resposta HTTP. Como o filtro obtém uma resposta HTTP é determinado pelo desenvolvedor do filtro. Um aplicativo pode criar a resposta imediatamente, pode enviar a solicitação por TCP para um servidor, pode até mesmo enviar várias solicitações para um servidor (ou para mais de um servidor) antes de gerar uma mensagem de resposta. Como não é especificado como um filtro chega a uma mensagem de resposta, um filtro pode passar a mensagem de solicitação para outro filtro (chamado de filtro interno), delegando assim a criação de uma mensagem de resposta para o filtro interno.

Os filtros geralmente adicionam ou alteram cabeçalhos, manipulam a autorização (possivelmente usando o WebAuthenticationBroker) ou permitem ou não uma solicitação com base nas condições de rede. Os filtros geralmente fazem alterações e passam a solicitação para um filtro interno, que normalmente é definido quando um filtro é construído.

Essa abordagem permite que os filtros sejam responsáveis apenas por um aspecto específico de uma execução de solicitação HTTP e delegam outros aspectos a outros filtros. Um filtro pode implementar cache, autenticação, redirecionamentos, cookies, comunicação real com o servidor ou uma combinação deles. O filtro mais baixo (base) geralmente será aquele que faz a comunicação real com a rede.

Abaixo estão algumas exceções que essa função gera.

E_INVALIDARG

O parâmetro de solicitação era uma referência nula (Nothing no Visual Basic).

E_ILLEGAL_METHOD_CALL

A mensagem de solicitação já foi enviada pela instância IHttpFilter .

Aplica-se a