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

use*_*750 5 c# httpclient http-caching

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

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

谢谢。

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

小智 15

您可以在 HttpClient 中使用 CacheControlHeaderValue

using System.Net.Http.Headers;

httpClient.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue
{
  NoCache = true
}
Run Code Online (Sandbox Code Playgroud)

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