0

ローカル IIS サーバーに接続する Windows Phone アプリがあります。json データをダウンロードし、リスト ボックスに表示します。ページに更新ボタンもあります。ページが読み込まれるとすべてが正しくなりますが、更新ボタンを押すと、ページが読み込まれたときに利用可能だったデータのみが返されます。Web ブラウザーで 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 に答える