2017-04-07 6 views
3

나는 내 전체 스택 .NET 응용 프로그램에서 CachePolicyAuthenticationLevel을 설정하기위한 WebRequestHandler을 사용했다. 이제 응용 프로그램을 .NET 코어로 마이 그 레이션하고 이러한 속성 또는 WebRequestHandler의 대안을 찾을 수 없습니다. 어떤 도움이 필요합니까? 다음은 내 사용이다 :.NET Core의 WebRequestHandler에 대한 대안은 무엇입니까?

 var httpClientHandler = new WebRequestHandler 
     { 
      UseProxy = true, 
      UseCookies = false, 
      CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore), 
      AuthenticationLevel = AuthenticationLevel.MutualAuthRequired 
     }; 
+2

HttpClientHandler 클래스를 시도해 볼 수 있습니다 (HttpClient .ctor에 arg로 전달). 그러나 CachePolicy 및 AuthenticationLevel이 없습니다. 귀하의 솔루션은 하나의 핸들러 인스턴스에 있지 않을 수도 있습니다. Btw, 나는 이것을 SSL 인증서 오류를 우회하는 데 사용한다. –

답변

3

CachePolicy :

.NET 코어에 CachePolicy에는 해당이 없습니다. 그러나 .NET Core는 RequestCacheLevel.BypassCache와 동일합니다. 나는 그것이 this GitHub issue에서 확인했다.

CachePolicy가 내장되어 있지는 않지만이 디자인을 사용하면 원하는 정책을 사용하여 HttpClient에 고유 한 캐시를 구축 할 수 있습니다.

AuthenticationLevel : .NET 코어에

WebRequest 클래스

이 AuthenticationLevel 속성을 제공하지만, 당신이 HttpClient를을 사용해야 할 경우 그것이 당신에게 많은 도움이되지 않습니다.

사용자 지정 HttpMessageHandler를 구현하여 AuthenticationLevel을 지원하는 HttpClient에 전달할 수 있습니다. 구현하기 쉽도록하려면 Windows one과 같은 기존 HttpMessageHandler를 기반으로 구현할 수 있습니다.