在 WebApi 2 控制器中获取 Header 个值

Getting Header Values in WebApi 2 Controller

在 WebApi2 控制器中访问 header 值的正确方法是什么?我有这样的方法:

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

它 returns 将 json 数据分页到 jquery DataTable。

我正在尝试通过此方法获取搜索值。

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

但是我收到这个错误:

无法将带有 [] 的索引应用于 'System.Net.Http.HttpRequestMessage' 类型的表达式

试试这个

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

使用 ASP.Net 核心 Web 应用程序 (.Net Core) 用于 Web 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();
}