Windows Phone 7中的HttpWebRequest缓存

3

我在使用wp7.1和httpwebrequest方法开发应用程序时遇到了缓存问题。

HttpWebRequest request = HttpWebRequest. CreateHttp (s);
request. BeginGetResponse (new AsyncCallback (HandleResponse), request);

即使请求内容不同,请求结果也是相同的。而且在请求参数不同的情况下也是如此。我该如何解决这个问题?

谢谢。

2个回答

4

希望这能帮到你。试一下吧。

 HttpWebRequest request = HttpWebRequest. CreateHttp (s);
    request.Headers[HttpRequestHeader.CacheControl] = "no-cache"; 
    request.Headers[HttpRequestHeader.Pragma] = "no-cache"; 
    request.Headers[HttpRequestHeader.IfModifiedSince] = dateTime.Now.ToString();
    request. BeginGetResponse (new AsyncCallback (HandleResponse), request);

/*request.Headers[HttpRequestHeader.IfModifiedSince] = dateTime.Now.ToString(); this forces your request to always be performed - this made the trick for me.*/

0
通常我会通过向URI添加唯一的请求标识符来解决这个问题。
这种方法并不适用于所有情况(因为您的URI可能已经包含查询字符串),但可以作为一个示例。
string s = uri + "?guid=" + Guid.NewGUID();
HttpWebRequest request = HttpWebRequest.CreateHttp(new Uri(s, UriKind.Absolute));
request. BeginGetResponse (new AsyncCallback (HandleResponse), request);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接