为什么一个接一个地调用GET方法重复第一个答案



我在Windows Phone上使用Get方法时遇到问题。当我确实获取方法时,我收到一些答案,然后我执行 post 方法,它更改了 get 方法的答案,然后我再次检查 get 方法,但它仍然从第一个 Get 中给了我相同的答案(不知何故它一直在复制第一个方法的 Get 答案)。如何更改它?

获取方法的示例代码:

        HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(URLS.host);
        wr.Method = "GET";
        wr.CookieContainer = cookieContainer;
        wr.BeginGetResponse(new AsyncCallback(GetRequestStreamCallbackListaStrategii), wr);

这听起来像是一个缓存问题。假设您无法控制或不想更改服务器端响应,您可以尝试在每次调用中添加一个随机查询字符串,看看是否可以修复它。例如,将URLS.host值设置为:

URLS.host = String.Format("{0}&rnd={1}", URLS.host, Guid.NewGuid().ToString());
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(URLS.host);

或者,您可以尝试这篇文章中的解决方案。

HttpWebRequest request = HttpWebRequest.CreateHttp(url);
if (request.Headers == null)
{
   request.Headers = new WebHeaderCollection();
}
request.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();

试试这个:

wr.Headers["Cache-Control"] = "no-cache";
wr.Headers["Pragma"] = "no-cache";

最新更新