System.Net.Http.HttpClient 禁用缓存(.Net 标准项目)

System.Net.Http.HttpClient Disable Caching (.Net Standart Project)

在我的 .NET Standard 项目中,我使用 System.Net.Http.HttpClient。如何禁用 HttpClient 中的所有缓存(尤其是请求缓存)?

如果服务器发送没有缓存的响应header问题解决。但我想在客户端做这个。我想完全禁用所有缓存。

谢谢。

编辑:看起来我可以使用 WebRequestHandler 但这在 .NET 标准中不存在。我只能使用 HttpClientHandlerHttpClientHandler 没有任何关于缓存的选项。

您可以在 HttpClient 中使用 CacheControlHeaderValue

using System.Net.Http.Headers;

httpClient.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue
{
  NoCache = true
}

更多信息你可以看看 https://docs.microsoft.com/en-us/dotnet/api/system.net.http.headers.cachecontrolheadervalue

我什么都试过了,这个对我有用。以防万一某些人无法使接受的答案有效:

var uri = new Uri("http://localhost:8080/v?time=" + DateTime.Now);
var client = new HttpClient();
var response = await client.GetAsync(uri);