2016-10-04 4 views
7

ASP.NETコアコントローラーからネームスペースSystem.Net.Http.Headersから強く型付けされたヘッダークラ​​スを取得するにはどうすればよいですか? Controllerから派生したコントローラでは、Request.Headersが利用可能ですが、それはちょうどIHeaderDictionaryを返します。拡張メソッドHeaderDictionaryTypeExtensions.GetTypedHeadersもありますが、特定のヘッダーのみを持つRequestHeadersを返します。クラスHttpRequestHeadersには最も包括的なヘッダーのリストがありますが、アクセス方法は不明です。ASP.NETコアで強く型付けされたヘッダークラ​​スを取得します。

たとえば、AuthenticationHeaderValueはどのように取得しますか? 1つのオプションはAuthenticationHeaderValue.Parse(Request.Headers["Authorization"])ですが、これにはヘッダー名をハードコーディングする必要があります。おそらく、HttpRequestHeaders.Authorizationにハードコードされていない方法があります。

+0

可能性のある重複した[どこASP.NET 5に行って、HTTPヘッダーのためのすべてのタイプ?](http://stackoverflow.com/questions/29706719/where-all-types-for-http-headers-gone -in-asp-net-5) – Tseng

+0

@Tseng他の質問は、 'RequestHeaders'に基づいて受け入れられた答えを持っています。この質問は、ASP.NET Core 1.0でより包括的な 'HttpRequestHeaders'を入手する方法に焦点を当てています。 –

+0

私はこの問題を[GitHubプロジェクト](https://github.com/aspnet/Mvc/issues/5680)の問題として投稿しました。 –

答えて

4
AuthenticationHeaderValue.Parse(Request.Headers[HeaderNames.Authorization]) 
関連する問題