IHttpFilter.SendRequestAsync(HttpRequestMessage) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Senden Sie eine HTTP-Anforderung für die IHttpFilter-instance als asynchronen Vorgang.
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)
Parameter
- request
- HttpRequestMessage
Die zu sendende HTTP-Anforderungsmeldung.
Gibt zurück
Das Objekt, das den asynchronen Vorgang darstellt.
- Attribute
Hinweise
Benutzerdefinierte Filter werden in der SendRequestAsync-Methode auf ihrer IHttpFilter-Schnittstelle implementiert.
Klassen im Windows.Web.Http-Namespace unterstützen die Verwendung von Filtern basierend auf den Klassen im Windows.Web.Http.Filters-Namespace . Die HttpClient-Klasse im Windows.Web.Http-Namespace stellt eine Basisklasse zum Senden von HTTP-Anforderungen und zum Empfangen von HTTP-Antworten bereit. Filter stellen einen Handlermechanismus bereit, um bei häufigen HTTP-Dienstproblemen zu helfen. Einfache Filter können in einer Sequenz miteinander verkettet werden, um komplexere HTTP-Dienstprobleme zu behandeln.
Ein HTTP-Filter ist ein Blackbox, das eine HTTP-Anforderungsnachricht akzeptiert und eine HTTP-Antwortnachricht erzeugt. Wie der Filter eine HTTP-Antwort erhält, wird vom Filterentwickler bestimmt. Eine App kann die Antwort sofort erstellen, sie kann die Anforderung über TCP an einen Server senden und sogar mehrere Anforderungen an einen Server (oder an mehrere Server) senden, bevor sie eine Antwortnachricht generiert. Da nicht angegeben ist, wie ein Filter zu einer Antwortnachricht gelangt, kann ein Filter die Anforderungsnachricht an einen anderen Filter übergeben (der sogenannte innere Filter), wodurch die Erstellung einer Antwortnachricht an den inneren Filter delegiert wird.
Filter fügen häufig Header hinzu oder ändern diese, behandeln die Autorisierung (möglicherweise mithilfe des WebAuthenticationBroker) oder lassen eine Anforderung basierend auf Netzwerkbedingungen zu oder lassen sie nicht zu. Filter nehmen normalerweise Änderungen vor und übergeben die Anforderung dann an einen inneren Filter, der in der Regel festgelegt wird, wenn ein Filter erstellt wird.
Dieser Ansatz ermöglicht es Filtern, nur für einen bestimmten Aspekt einer HTTP-Anforderungsausführung verantwortlich zu sein und andere Aspekte an andere Filter zu delegieren. Ein Filter kann Zwischenspeicherung, Authentifizierung, Umleitungen, Cookies, die tatsächliche Kommunikation mit dem Server oder eine Kombination aus diesen implementieren. Der unterste Filter (Basisfilter) ist normalerweise derjenige, der die tatsächliche Kommunikation mit dem Netzwerk durchführt.
Im Folgenden finden Sie einige Ausnahmen, die von dieser Funktion ausgelöst werden.
E_INVALIDARG
Der Anforderungsparameter war ein NULL-Verweis (Nothing in Visual Basic).
E_ILLEGAL_METHOD_CALL
Die Anforderungsnachricht wurde bereits vom IHttpFilter-instance gesendet.