2016-10-04 2 views
7

ASP.NET 코어 컨트롤러의 네임 스페이스 System.Net.Http.Headers에서 강력한 형식의 헤더 클래스를 얻는 방법은 무엇입니까? Controller에서 파생 된 컨트롤러에서 Request.Headers을 사용할 수 있지만 단지 IHeaderDictionary을 반환합니다. 확장 메서드 HeaderDictionaryTypeExtensions.GetTypedHeaders도 있지만 특정 헤더 만있는 RequestHeaders을 반환합니다. 클래스 HttpRequestHeaders에는 가장 포괄적 인 헤더 목록이 있지만 액세스 방법이 명확하지 않습니다.ASP.NET 코어에서 강력한 형식의 헤더 클래스 가져 오기

예를 들어 AuthenticationHeaderValue은 어떻게받을 수 있습니까? 하나의 옵션은 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]) 
관련 문제