2011-01-06 13 views
2

私が理解しているところでは、HttpWebRequestクラスは常にダウンロードしたデータをキャッシュします。今は気にしませんが、アプリケーションの期間中HttpWebRequestを通して同じURLを再解析した後、ダウンロードされたJSONデータが解析不能になるなど、データが破損していることがわかりました。 Phone Emulatorをリブートした後、再びそれが起こるまですべてがうまくいく。WebRequestキャッシングWindows Phone 7

今、私は、HttpWebRequestでキャッシングをオフにすることが可能かどうか疑問に思っています。ここで

私はHttpWebRequestの呼び出しを行うために使用していたコードの一部です:

var request = (HttpWebRequest)WebRequest.Create(string.Format(uri)); 

     request.BeginGetResponse(a => 
     { 
      var response = request.EndGetResponse(a); 
      var responseStream = response.GetResponseStream(); 
      using (var sr = new StreamReader(responseStream)) 
      { 
       string json = sr.ReadToEnd(); 
       Deployment.Current.Dispatcher.BeginInvoke(() => 
       { 
        //Newtonsoft.Json.Linq; 
        JObject artistObject = JObject.Parse(json); 
        //...etc 
       }); 
      } 
     }, null); 
    } 

答えて

4

このキャッシュを回避する一般的な手法は、連続通話でインクリメントされたクエリ文字列にパラメータを追加することです。このスレッドでは、Silverlightの動作について詳しく説明しています。そうは言って

WebClient Caching Problem

、あなたが経験している汚職の簡単なREPROを生成することができていますか?それを調べる価値があるかもしれません。

関連する問題