2015-01-15 3 views
15

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

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

Он возвращает вывешенные данные json в jQuery DataTable.

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

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

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

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

ответ

27

Попробуйте

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

Это работало. Почему не работает запрос? – andy

+1

Заголовки - это коллекция внутри объекта Request. Вам нужно получить к нему доступ, как вы получите доступ к члену из коллекции. Если это сработало для вас, пожалуйста, примите его как ответ – su8898

4

Использование ASP.NET Core Web Application (.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(); 
} 
Смежные вопросы