无法在asp net core web API中获取请求标头

Jyo*_*ngh 16 c# asp.net-web-api2 asp.net-core

我试图在asp net core web api中创建一个自定义过滤器,如下所示,但无法获取标题信息.

internal class BasicAuthFilterAttribute : ActionFilterAttribute
{
  private StringValues xyz;

  public override void OnActionExecuting(ActionExecutingContext actionContext)
  {
    var authHeader = actionContext.HttpContext.Request.Headers.TryGetValue("Basic", out xyz);           
  }
}
Run Code Online (Sandbox Code Playgroud)

TryGetValue总是返回false,但我可以看到Headers包含"基本"标题.因为我是ASP.NET Core的新手所以任何人都可以指导我可能做错了什么?

这里标题是怎样的. 在此输入图像描述

Jyo*_*ngh 29

谢谢大家的宝贵意见,但下面的代码按预期工作.

actionContext.HttpContext.Request.Headers.TryGetValue("Authorization", out authorizationToken);
Run Code Online (Sandbox Code Playgroud)

  • 如果使用C#7,则可以跳过声明变量:actionContext HttpContext.Request.Headers.TryGetValue("Authorization",out var unittId); (12认同)