Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Windows Phone网络客户端将赢得';不要更新新数据_Json_Windows_Rest_Windows Phone - Fatal编程技术网

Json Windows Phone网络客户端将赢得';不要更新新数据

Json Windows Phone网络客户端将赢得';不要更新新数据,json,windows,rest,windows-phone,Json,Windows,Rest,Windows Phone,我有一个连接到本地IIS服务器的windows phone应用程序。它下载一些json数据并将其显示在列表框中。我在页面上还有一个刷新按钮。当页面加载时,一切正常,但按刷新按钮仅返回加载页面时可用的相同数据。我已经用uri检查了我的web浏览器,更新的数据正确地显示在那里。此外,如果我退出windows phone应用程序并重新加载,数据也会在那里。下面是一些我正在测试的简化代码 页面加载: WebClient download = new WebClient();

我有一个连接到本地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);
        }
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字符串的消息框

刷新时:

        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);
        }
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字符串,即使数据已更改。有人有什么想法吗?谢谢。

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

尝试在URL末尾添加时间戳。像
refresh.DownloadStringAsync(新URI(“http://sampledata/data“+DateTime.Now.ToString())