我正在尝试调用相同的链接,但具有不同的值,问题是包含新值的URL是正确的,但是当我下载它(Webclient.DownloadStringTaskAsync)时,它给了我以前的调用结果。
我尝试添加无缓存的标头,并将随机值附加到调用中,以及 ifmodifiedSince 标头。 但是它仍然不起作用。
任何帮助将不胜感激,因为我已经尝试了一切。
uri: + "&junk=" + Guid.NewGuid());
client.Headers["Cache-Control"] = "no-cache";
client.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();
var accessdes = await client.DownloadStringTaskAsync(uri3);
所以在这里我的 uri3 包含最新值,但是当我将鼠标悬停在 accessdes 上时,它包含的结果就好像我正在使用以前设置的数据进行旧的 URI3 调用一样。
我看到一个朋友将随机GUID附加到Url,以防止操作系统缓存其内容。例如:如果 URL 是:http://www.ms.com/getdatetime 并且操作系统正在缓存它。我们的解决方案是添加一个 guid 来创建像新 url 一样的"有点",例如我们以前的 URL 如下所示:http://www.ms.com/getdatetime?cachebuster=21EC2020-3AEA-4069-A2DD-08002B30309D
(查看更多关于缓存克星:http://www.adopsinsider.com/ad-ops-basics/what-is-a-cache-buster-and-how-does-it-work/)