REST Webサービスを呼び出していますが、モバイルアプリはキャッシュから結果を取得しており、サーバーにはアクセスしていません。
他の提案された修正(同様の問題と同様の問題2 )を見ましたが、CacheプロパティはSilverlight4では使用できません。
Windows Phone7のSilverlight4にリクエストを送信させ、キャッシュにヒットしないようにする方法を知っている人はいますか?
理想的ではありませんが、簡単な解決策は、フィールド「ジャンク」のようなものを値とともに送信することですDateTime.Now
。そうすれば、値は常に真新しく、キャッシュされることはありません。たとえば、標準のクエリでこれを行っていた場合:
"&junk=" + DateTime.Now;
StackApps と通信するオーバーフロー 7 でもこの問題に遭遇しました。考えられる唯一のことは、HTTP/REST リクエストの最後にランダム変数を追加することでした。
最も提案されているソリューションは、William Melani のものと同じです。しかし、それは理想的ではなく、一部のサービスは不明なパラメーターまたは任意のパラメーターを含む要求を拒否します。この場合、次のように IfModifiedSince ヘッダーを使用する方がクリーンで信頼性が高くなります。
WebClient wc = new WebClient();
wc.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();
wc.DownloadStringCompleted += wc_DownloadStringCompleted;
wc.DownloadStringAsync(new Uri(bitstampUrl));
WebClient wc = new WebClient();
wc.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();
私のために働いた