web-dev-qa-db-ja.com

カスタムヘッダー値を抽出する方法は?

私は、ASP.NET Core MVPに移行する必要があるプロジェクトで受け入れられた回答からこの正確なコードを取得しています。

Web APIメッセージハンドラーでカスタムヘッダー値を抽出する方法

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

これを.NET Coreに実装するにはどうすればよいですか?

古いシステムではなく新しいシステムでこれを実行しようとしているため、これが重複した質問とはみなされないことを願っています。また、誰かが現在のバージョンに関するリンクに回答を追加しても大丈夫です。

編集: ASP.NET 5でhttpヘッダーのすべてのタイプがなくなった場所 このリンクを試しましたが、APIが変更された可能性があります。これもその質問の重複ではないと思います。

30

Request.Headersは、次のプロパティを定義する Microsoft.AspNetCore.Http.IHeaderDictionary インターフェイスを返します。

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

IHeaderDictionaryには、IDictionaryとは異なるインデクサーコントラクトがあり、エントリが不足している場合はStringValues.Emptyを返します。

戻りタイプ:Microsoft.Extensions.Primitives.StringValues

戻り値:格納された値、またはキーが存在しない場合はStringValues.Empty。

したがって、単にRequest.Headers["environment"]を使用して、「環境」ヘッダーの値を取得できます。

42
Set