2017-04-07 48 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はありません。私はあなたのソリューションは、1つのハンドラインスタンス内にないかもしれないと思います。 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をベースにすることができます。

関連する問題