在我的“ .Net Standart”项目中,我使用的是“ System.Net.Http.HttpClient”。如何禁用httpClient中的所有缓存(尤其是请求缓存)?
如果服务器发送的响应没有缓存头,则问题解决。但是我想在客户端做这个。我想完全禁用所有缓存。
谢谢。
编辑:看来我可以使用WebRequestHandler,但这在“ .net standart”中不存在。我只能使用HttpClientHandler,但是HttpClientHandler没有关于缓存的任何选择。
答案 0 :(得分:2)
您可以在HttpClient中使用CacheControlHeaderValue
httpClient.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue
{
NoCache = true
}
有关更多信息,请参见 https://docs.microsoft.com/en-us/previous-versions/visualstudio/hh137994(v%3Dvs.118)
答案 1 :(得分:0)
我尽了一切,这对我有用。以防万一有些人无法使被接受的答案起作用:
var uri = new Uri("http://localhost:8080/v?time=" + DateTime.Now);
var client = new HttpClient();
var response = await client.GetAsync(uri);