Как получить строго типизированный класс заголовка из пространства имен System.Net.Http.Headers
из контроллера ядра ASP.NET? В контроллере, полученном от Controller
, доступен Request.Headers
, но он просто возвращает IHeaderDictionary
. Существует также метод расширения HeaderDictionaryTypeExtensions.GetTypedHeaders
, но он возвращает RequestHeaders
, который имеет только определенные заголовки. Класс HttpRequestHeaders
содержит наиболее полный список заголовков, но неясно, как получить к нему доступ.Получить строго типизированный класс заголовка в ASP.NET Core
Например, если вы нашли AuthenticationHeaderValue
? Один из вариантов - AuthenticationHeaderValue.Parse(Request.Headers["Authorization"])
, но для этого требуется жесткое кодирование имени заголовка. Возможно, есть не жестко закодированный способ добраться до HttpRequestHeaders.Authorization
.
Возможный дубликат [Где все типы для HTTP заголовков прошли в ASP.NET 5?] (Http://stackoverflow.com/questions/29706719/where-all-types-for-http-headers-gone -in-asp-net-5) – Tseng
@Tseng Этот другой вопрос имеет принятый ответ на основе 'RequestHeaders', который полезен для некоторых заголовков, но не для других. Этот вопрос фокусируется на том, как получить более полное 'HttpRequestHeaders', доступное в ASP.NET Core 1.0. –
Я разместил этот вопрос как проблему в проекте [GitHub] (https://github.com/aspnet/Mvc/issues/5680). –