Ich habe derzeit einen Nachrichtenhandler in meinem Web-API-Dienst, der 'SendAsync' wie folgt überschreibt:
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
//implementation
}
Innerhalb dieses Codes muss ich einen benutzerdefinierten hinzugefügten Anforderungsheaderwert mit dem Namen überprüfen MyCustomID
. Das Problem ist, wenn ich Folgendes mache:
if (request.Headers.Contains("MyCustomID")) //OK
var id = request.Headers["MyCustomID"]; //build error - not OK
... Ich erhalte folgende Fehlermeldung:
Indizierung mit [] kann nicht auf einen Ausdruck vom Typ 'System.Net.Http.Headers.HttpRequestHeaders' angewendet werden.
Wie kann ich über die an diese überschriebene Methode übergebene Instanz ( MSDN Documentation ) auf einen einzelnen benutzerdefinierten Anforderungsheader zugreifen ?HttpRequestMessage
Get' on the
HttpRequestHeaders-Typ. Die Meldung "Symbol 'Get' kann nicht aufgelöst werden" wird ausgegeben.
request.Headers.Get("MyCustomID");
?