wake-up-neo.com

Wie extrahiere ich einen benutzerdefinierten Header-Wert?

Ich habe genau diesen Code aus der akzeptierten Antwort in meinem Projekt, den ich in ASP.NET Core MVP migrieren muss.

Wie extrahiere ich einen benutzerdefinierten Header-Wert im Web-API-Message-Handler?

var env = Request.Headers.GetValues("environment").First();

Wie kann ich das in .NET Core implementieren?

Ich hoffe, dass dies keine doppelte Frage ist, da ich dies eher mit dem neuen System als mit dem alten System zu tun versuche. Ich wäre auch in Ordnung, wenn jemand dem Link eine Antwort bezüglich der aktuellen Version hinzufügt.

Edit: Wo alle Typen für HTTP-Header in ASP.NET 5 verschwunden sind? Ich habe diesen Link ausprobiert, aber die API hat sich möglicherweise geändert. Ich denke auch nicht, dass dies ein Duplikat für diese Frage ist.

30

Request.Headers gibt Microsoft.AspNetCore.Http.IHeaderDictionary zurück, das die nächste Eigenschaft definiert:

StringValues this[string key] { get; set; }

IHeaderDictionary hat einen anderen Indexer-Vertrag als IDictionary. Dort wird StringValues.Empty für fehlende Einträge zurückgegeben.

Rückgabetyp: Microsoft.Extensions.Primitives.StringValues

Rückgabe: Der gespeicherte Wert oder StringValues.Empty, wenn der Schlüssel nicht vorhanden ist.

Also können Sie einfach Request.Headers["environment"], um den Wert des "Umgebungs" -Headers abzurufen

42
Set