Condividi tramite


IHttpFilter.SendRequestAsync(HttpRequestMessage) Metodo

Definizione

Inviare una richiesta HTTP nell'istanza IHttpFilter come operazione asincrona.

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)

Parametri

request
HttpRequestMessage

Messaggio di richiesta HTTP da inviare.

Restituisce

Oggetto che rappresenta l'operazione asincrona.

Attributi

Commenti

I filtri personalizzati vengono implementati nel metodo SendRequestAsync nell'interfaccia IHttpFilter .

Le classi nello spazio dei nomi Windows.Web.Http supportano l'uso di filtri basati sulle classi nello spazio dei nomi Windows.Web.Http.Filters . La classe HttpClient nello spazio dei nomi Windows.Web.Http fornisce una classe base per l'invio di richieste HTTP e la ricezione di risposte HTTP. I filtri forniscono un meccanismo del gestore per risolvere i problemi comuni del servizio HTTP. I filtri semplici possono essere concatenati in una sequenza per gestire problemi di servizio HTTP più complessi.

Un filtro HTTP è una casella nera che accetta un messaggio di richiesta HTTP e genera un messaggio di risposta HTTP. Il modo in cui il filtro ottiene una risposta HTTP è determinato dallo sviluppatore di filtri. Un'app può creare immediatamente la risposta, può inviare la richiesta tramite TCP a un server, può anche inviare più richieste a un server (o a più server) prima di generare un messaggio di risposta. Poiché non viene specificato il modo in cui un filtro ottiene un messaggio di risposta, un filtro può passare il messaggio di richiesta a un altro filtro (denominato filtro interno), delegando così la creazione di un messaggio di risposta al filtro interno.

I filtri in genere aggiungono o modificano intestazioni, gestiscono l'autorizzazione (possibilmente usando WebAuthenticationBroker) o consentono o non consentono una richiesta in base alle condizioni di rete. I filtri in genere apportano modifiche e quindi passano la richiesta a un filtro interno, che in genere viene impostato quando viene costruito un filtro.

Questo approccio consente ai filtri di essere responsabili solo di un aspetto specifico dell'esecuzione di una richiesta HTTP e delegare altri aspetti ad altri filtri. Un filtro può implementare la memorizzazione nella cache, l'autenticazione, i reindirizzamenti, i cookie, la comunicazione effettiva con il server o una combinazione di queste. Il filtro più basso (base) è in genere quello che esegue la comunicazione effettiva con la rete.

Di seguito sono riportate alcune eccezioni generate da questa funzione.

E_INVALIDARG

Il parametro request è un riferimento Null (Nothing in Visual Basic).

E_ILLEGAL_METHOD_CALL

Il messaggio di richiesta è già stato inviato dall'istanza di IHttpFilter .

Si applica a