Windows Phone WebClient不会更新新数据

时间:2012-04-04 13:31:22

标签: json windows rest windows-phone

我有一个连接到本地IIS服务器的Windows Phone应用程序。它下载一些json数据并将其显示在列表框中。我还在页面上有一个刷新按钮。页面加载时一切正确但按下刷新按钮仅返回加载页面时可用的相同数据。我已经使用uri检查了我的Web浏览器,并且更新的数据显示正确。此外,如果我退出Windows Phone应用程序并重新加载它,数据就在那里。这是我正在测试的一些愚蠢的代码。

页面加载:

        WebClient download = new WebClient();
        download.DownloadStringCompleted += new DownloadStringCompletedEventHandler(download_DownloadStringCompleted);
        download.DownloadStringAsync(new Uri("http://sampledata/data"));

        void download_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            MessageBox.Show(e.Result);
        }

这很好用,并显示一个带有json字符串的消息框。

在刷新时:

private void Button_Click(object sender, RoutedEventArgs e)
    {
        WebClient refresh = new WebClient();
        refresh.DownloadStringCompleted += new DownloadStringCompletedEventHandler(refresh_DownloadStringCompleted);
        refresh.DownloadStringAsync(new Uri("http://sampledata/data"));
    }

    void refresh_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        MessageBox.Show(e.Result);
    }

即使数据已更改,也会显示页面加载时显示的相同json字符串。有没有人有任何想法?感谢。

2 个答案:

答案 0 :(得分:1)

尝试在URL的末尾添加时间戳。比如refresh.DownloadStringAsync(new URI("http://sampledata/data" + DateTime.Now.ToString()));

答案 1 :(得分:0)

您从服务器中提取了多少数据?如果您需要繁重的工作,请尝试使用HttpWebRequest。我还有一些webclient加载和刷新数据的问题。服务器上的每一次更改都会有很大的延迟......