簡體   English   中英

System.Net.Http.HttpClient 禁用緩存(.Net 標准項目)

[英]System.Net.Http.HttpClient Disable Caching (.Net Standart Project)

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

如果服務器發送沒有緩存頭的響應,問題就解決了。 但我想在客戶端做這個。 我想完全禁用所有緩存。

謝謝。

編輯:看起來我可以使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM