0

我有一个连接到本地 IIS 服务器的 windows phone 应用程序。它下载一些 json 数据并将其显示在列表框中。我在页面上也有一个刷新按钮。当页面加载时,一切都是正确的,但按下刷新按钮只会返回加载页面时可用的相同数据。我已经用 uri 检查了我的网络浏览器,并且更新的数据在那里正确显示。此外,如果我退出 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 字符串。有没有人有任何想法?谢谢。

4

2 回答 2

1

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

于 2012-07-05T17:43:27.467 回答
0

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

于 2012-04-24T14:45:58.000 回答