[英]C# - Why is my HTTPWebRequest returning a cached response every time?
我已经看到各种类似的问题,但是没有任何事情可以解决我的问题。 这是我正在使用的代码片段:
NetworkCredential credentials = new NetworkCredential(CredentialsManager.Username, CredentialsManager.Password);
HttpWebRequest getReq = (HttpWebRequest) WebRequest.Create(m_editPageUrl);
getReq.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); // I've also tried RequestCacheLevel.NoCacheNoStore
getReq.Credentials = credentials;
getReq.Timeout = 1000;
getReq.Method = "GET";
getReq.Accept = "text/html";
string responseString;
using (HttpWebResponse getResponse = (HttpWebResponse) getReq.GetResponse())
{
using (Stream responseStream = getResponse.GetResponseStream())
{
if (responseStream == null)
throw new Exception("Did not receive a response from the specified page.");
using (StreamReader reader = new StreamReader(responseStream))
responseString = reader.ReadToEnd();
}
}
由于某种原因,即使我已告诉HTTPWebRequest绕过缓存,存储在responseString中的任何内容也会被缓存。 大约每个小时,我都会收到更新的响应,但是如果我更改了任何内容,更新的响应(由于有更新的版本,现在应该无效)仍然传递给我。 有人告诉我,服务器已设置为不缓存响应,因此我必须做错了。 我只是不知道是什么。
我在某处读到它可能有助于使用套接字制作更底层的加载器。 但是,我找不到任何容易说明如何执行此操作的地方。 如果这是我应该做的,请告诉我在哪里可以寻求帮助。
谢谢。
在对应用程序访问的服务器上托管的站点的代码进行一些挖掘时,我发现该站点具有要维护的缓存服务。 一旦禁用此功能,一切都会像魅力一样。 我的原始代码工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.