在 HttpContext.Current.Request.Header 数组中找不到自定义 header

Custom header not found in HttpContext.Current.Request.Header array

我将自定义 header 添加到我从 Angular 服务发出的每个调用中,以将系统 ID 传递到我的应用程序

$http.defaults.headers.common["SystemId"] = "1";

使用 Fiddler 时,我可以看到添加了自定义 header

在服务器端,我试图通过执行以下操作从用户定义的 C# class 中检索此 header

if (HttpContext.Current != null)
{
    systemIdHeader = HttpContext.Current.Request.Headers["SystemId"];                                
}

HttpContext.Current object 已设置,但 Headers 数组为空。这个 header 会丢失有什么原因吗?

好的,我找到问题了。我正在发布到一个使用 OAuthGrantResourceOwnerCredentialsContext 的 oAuth 令牌端点,所以我不得不使用

_oAuthGrantResourceOwnerCredentialsContext.Request.Headers["SystemId"];

而不是

HttpContext.Current.Request.Headers["SystemId"];