2011-01-06 74 views
2

据我所知,HttpWebRequest类总是缓存下载的数据。现在我不介意这一点,但在应用程序持续时间内通过HttpWebRequest彻底重新解析相同的URL后,我注意到数据已损坏(因为下载的JSON数据变得无法解析)。重新启动电话模拟器后,它一切都会顺利,直到它再次发生。WebRequest缓存Windows Phone 7

现在我只是想知道是否有可能关闭HttpWebRequest中的缓存。

下面是一些代码,我使用做出的HttpWebRequest电话:

var request = (HttpWebRequest)WebRequest.Create(string.Format(uri)); 

     request.BeginGetResponse(a => 
     { 
      var response = request.EndGetResponse(a); 
      var responseStream = response.GetResponseStream(); 
      using (var sr = new StreamReader(responseStream)) 
      { 
       string json = sr.ReadToEnd(); 
       Deployment.Current.Dispatcher.BeginInvoke(() => 
       { 
        //Newtonsoft.Json.Linq; 
        JObject artistObject = JObject.Parse(json); 
        //...etc 
       }); 
      } 
     }, null); 
    } 

回答

4

的常用技术来解决这个缓存是一个参数添加到正在上连续调用增加查询字符串。此线程更详细地讨论silverlight行为,并介绍一些您可以查看的服务器处理方法,如果您拥有该控件。

WebClient Caching Problem

虽这么说,你已经能够生产出您所遇到的腐败的一个简单的摄制?这可能是值得的,看着。