.NET Core 中 WebRequestHandler 的替代方案是什么?
What's the alternative to WebRequestHandler in .NET Core?
我正在使用 WebRequestHandler 在我的完整堆栈中设置 CachePolicy 和 AuthenticationLevel .NET 应用程序。现在我正在将我的应用程序迁移到 .NET 核心,但找不到这些属性或 WebRequestHandler 的替代方法。有什么帮助吗?以下是我的用法:
var httpClientHandler = new WebRequestHandler
{
UseProxy = true,
UseCookies = false,
CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore),
AuthenticationLevel = AuthenticationLevel.MutualAuthRequired
};
缓存策略:
.NET Core 中没有 CachePolicy 的等价物。但是,.NET Core 相当于 RequestCacheLevel.BypassCache。我在 this GitHub issue.
中确认
因此,虽然没有内置 CachePolicy,但此设计使您能够使用您喜欢的任何策略在 HttpClient 之上构建自己的缓存。
身份验证级别:
.NET Core 中的 WebRequest 提供了 AuthenticationLevel 属性,但如果您需要使用 HttpClient,那对您帮助不大。
您可以实现自定义 HttpMessageHandler 以传递到支持 AuthenticationLevel 的 HttpClient。为了使其更易于实施,您可以将其基于现有的 HttpMessageHandler,例如 Windows one.
我正在使用 WebRequestHandler 在我的完整堆栈中设置 CachePolicy 和 AuthenticationLevel .NET 应用程序。现在我正在将我的应用程序迁移到 .NET 核心,但找不到这些属性或 WebRequestHandler 的替代方法。有什么帮助吗?以下是我的用法:
var httpClientHandler = new WebRequestHandler
{
UseProxy = true,
UseCookies = false,
CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore),
AuthenticationLevel = AuthenticationLevel.MutualAuthRequired
};
缓存策略:
.NET Core 中没有 CachePolicy 的等价物。但是,.NET Core 相当于 RequestCacheLevel.BypassCache。我在 this GitHub issue.
中确认因此,虽然没有内置 CachePolicy,但此设计使您能够使用您喜欢的任何策略在 HttpClient 之上构建自己的缓存。
身份验证级别:
.NET Core 中的 WebRequest 提供了 AuthenticationLevel 属性,但如果您需要使用 HttpClient,那对您帮助不大。
您可以实现自定义 HttpMessageHandler 以传递到支持 AuthenticationLevel 的 HttpClient。为了使其更易于实施,您可以将其基于现有的 HttpMessageHandler,例如 Windows one.