Windows phone 8 查询获取旧数据Windows Phone 8

Windows phone 8 查询获取旧数据Windows Phone 8,windows-phone-8,parse-platform,Windows Phone 8,Parse Platform,运行查询时,我的WP8应用程序正在获取旧数据,而不是更新的数据: private async Task fetchParseData() { try { var query = ParseObject.GetQuery("Favorite") .WhereEqualTo("user", ParseUser.CurrentUser.Username); IEnumerable<ParseObject> results

运行查询时,我的WP8应用程序正在获取旧数据,而不是更新的数据:

private async Task fetchParseData()
{
    try
    {
        var query = ParseObject.GetQuery("Favorite")
          .WhereEqualTo("user", ParseUser.CurrentUser.Username);
        IEnumerable<ParseObject> results = await query.FindAsync();

        this.favorites.Clear();

        foreach (ParseObject result in results)
        {
            string venue = result.Get<string>("venue");
            string address = result.Get<string>("address");
            string likes = result.Get<string>("likes");
            string price = result.Get<string>("price");
            string contact = result.Get<string>("contact");
            this.favorites.Add(new ItemViewModel { LineOne = venue, LineTwo = address, LineThree = likes, Rating = "", Hours = "", Contact = contact, Price = price, Latitude = "", Longitude = "" });

        }

        if (favorites.Count == 0)
        {
            //   emailPanorama.DefaultItem = emailPanorama.Items[1];
            MessageBox.Show("You do not have any saved cafes. Long press a cafe in main menu to save it.");
        }
    }
    catch (Exception exc)
    {
        MessageBox.Show("Data could not be fetched!", "Error", MessageBoxButton.OK);
    }
}
private异步任务fetchParseData()
{
尝试
{
var query=ParseObject.GetQuery(“收藏夹”)
.WhereEqualTo(“用户”,ParseUser.CurrentUser.Username);
IEnumerable results=wait query.FindAsync();
this.favorites.Clear();
foreach(ParseObject结果中的结果)
{
字符串地点=result.Get(“地点”);
字符串地址=result.Get(“地址”);
字符串likes=result.Get(“likes”);
字符串price=result.Get(“price”);
string contact=result.Get(“contact”);
this.favorites.Add(新项目视图模型{LineOne=地点,LineTwo=地址,LineThree=喜欢,评级=”,小时=”,联系人=联系人,价格=价格,纬度=”,经度=”});
}
如果(favorites.Count==0)
{
//emailPanorama.DefaultItem=emailPanorama.Items[1];
Show(“您没有任何保存的咖啡馆。长按主菜单中的咖啡馆以保存它。”);
}
}
捕获(异常exc)
{
Show(“无法获取数据!”,“错误”,MessageBoxButton.OK);
}
}

你能帮我找出这个问题在哪里吗。我调试了一下,只在这一部分发现了错误。因此,我的新数据不是通过
query.findasync()
方法获取的。

Windows Phones Web缓存非常具有攻击性

如果您查询的服务商没有在http头中明确设置缓存持续时间,windows phone将缓存所有请求(虽然不知道持续时间,但相当长)

你可以:

  • 在服务器上设置“缓存控制:无缓存”标题
  • 向每个请求添加一个随机数(或时间戳),使uri不同
  • 尝试将“if modified since”标题添加到您的请求中

  • 有关详细信息,请参阅。

    您的数据存储在应用程序域中windows phone的ISO(独立存储)中;或者您正在使用http从web请求获取数据?使用Parse SDK从web获取数据确保您的数据是update one,我在您的代码段中未找到任何罪犯代码行。是的,我非常确定,因为我在我的Parse data browser(解析数据浏览器)中看到了更新的数据,但在WP View中没有看到。我无法设置标题,因为这不是我的服务器。它是Parse.com。它提供移动后端即服务。(MBaaS)。在这种情况下,您必须向请求查询字符串中添加一个随机get参数。