如何提取自定义头值?

我有这个确切的代码从我的项目中接受的答案,我需要迁移到 ASP.NET 核心 MVP。

如何在 Web API 消息处理程序中提取自定义头值?

var env = Request.Headers.GetValues("environment").First();

如何在.NETCore 中实现这一点?

我希望这不会被认为是一个重复的问题,因为我正在尝试用新系统而不是旧系统来解决这个问题。如果有人添加一个关于当前版本的链接的答案,我也会很好。

编辑: 在 ASP.NET 5中所有类型的 http 头都去了哪里?我尝试这个链接,但 API 可能已经改变。我也不认为这是那个问题的复制品。

88308 次浏览

报头返回定义下一个属性的 微软接口:

StringValues this[string key] { get; set; }

IHeaderDictionary 与 IDictionary 有一个不同的 indexer 契约,它将返回 StringValue。

返回类型: Microsoft。扩展名。原语。字符串值

返回: 存储的值,如果键不存在,则返回 StringValue。

因此,您可以简单地使用 Request.Headers["environment"]来获取“ Environment”头的值

由于这个答案经常被查看,所以您也可以通过在参数中使用属性来访问这些字段。这里有一个例子:

enter image description here

在请求中,您可以访问主体、 queryString 或 Header 中的任何字段。下面是关于授权标头的 Postman 示例:

enter image description here