Получение значений заголовков в контроллере WebApi 2

Каков правильный способ доступа к значению заголовка в контроллере WebApi2? У меня есть метод, который выглядит так:

    [Route(Name ="Stuff")]
    public SysDataTablePager Get(string sEcho, int iDisplayStart)

Он возвращает постраничные данные json в jQuery DataTable.

Я пытаюсь это сделать, чтобы получить значение поиска.

var nameFilter = Convert.ToString(Request["sSearch_1"]);

Но я получаю эту ошибку:

Невозможно применить индексирование с [] к выражению типа "System.Net.Http.HttpRequestMessage"

Ответы

Ответ 1

Попробуйте это

IEnumerable<string> headerValues;
var nameFilter= string.Empty;
if (Request.Headers.TryGetValues("sSearch_1", out headerValues))
{
    nameFilter = headerValues.FirstOrDefault();
}

Ответ 2

Использование основного веб-приложения ASP.Net(.Net Core) для веб-проекта api.

Попробуйте это

//check the header
StringValues headerValues;
var nameFilter = string.Empty;
if (Request.Headers.TryGetValue("X-Custom-Token", out headerValues))
{
//validate the token
nameFilter = headerValues.FirstOrDefault();
}