ASP.Net Core 2.0 Как получить все заголовки запросов в промежуточном программном обеспечении?
В ASP.Net Core 2.0 я пытаюсь проверить заголовки входящих запросов в специальном промежуточном программном обеспечении.
Проблема в том, что я не знаю, как извлечь все заголовки пары ключ-значение. Заголовки, которые мне нужны, хранятся в защищенном свойстве
protected Dictionary<string, stringValues> MaybeUnknown
Мой класс промежуточного программного обеспечения выглядит так:
public class HeaderValidation
{
private readonly RequestDelegate _next;
public HeaderValidation(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext httpContext)
{
IHeaderDictionary headers = httpContext.Request.Headers; // at runtime headers are of type FrameRequestHeaders
// How to get the key-value-pair headers?
// "protected Dictionary<string, stringValues> MaybeUnknown" from headers is inaccessbile due to its protection level
// Casting headers as Dictionary<string, StringValues> results in null
await _next.Invoke(httpContext);
}
}
Моя цель - извлечь все заголовки запроса, а не только несколько выбранных заголовков, для которых я должен знать конкретные ключи.
1 ответ
httpContext.Request.Headers
это Dictionary
, Вы можете вернуть значение заголовка, передав имя заголовка в качестве ключа:
context.Request.Headers["Connection"].ToString()