WebRequest缓存Windows Phone 7

时间:2011-01-06 00:20:42

标签: json windows-phone-7 httpwebrequest

据我所知,HttpWebRequest类总是缓存下载的数据。现在我不介意这一点,但是在应用程序持续时间内通过HttpWebRequest彻底解析相同的URL之后,我注意到数据已损坏(如下载的JSON数据变得无法解析)。重新启动手机模拟器后,一切都变得平静,直到再次发生。

现在我只是想知道是否可以关闭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);
    }

1 个答案:

答案 0 :(得分:4)

绕过此缓存的常用技巧是向查询字符串添加一个参数,该参数在连续调用时递增。该主题更详细地讨论了silverlight行为,并涵盖了一些服务器处理,如果你有这种控制,你也可以看一下。

WebClient Caching Problem

话虽如此,您是否能够简单地制作一份您正在经历的腐败问题?可能值得研究一下。