我在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";