2013-02-25 1 views
1

저는 웹 사이트에서 json web service &을 사용했습니다.
이제 웹 서비스에서받는 데이터를 표시하기 위해 내 Windows phone 앱에서 사용하고 싶습니다. i'v 아래 --->wp7 앱에서 웹 클라이언트 요청 캐싱 문제가 발생했습니다.

//// some code 

StartThread(); 
     } 

      void StartThread() 
      { 
       DispatcherTimer TradeThread = new DispatcherTimer(); 
       TradeThread.Interval = TimeSpan.FromMilliseconds(1000); 
       TradeThread.Tick += new EventHandler(BindData); 
       TradeThread.Start(); 
      } 

      void BindData(object sender, EventArgs e) 
      { 
       WebClient wc = new WebClient(); 
       wc.DownloadStringAsync(new Uri("some URL")); 
       wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); 
      } 

      void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
      { 
       JObject jsonObject = JObject.Parse(e.Result); 
       ///// some code             

코드를 작성하도록 코드는 를 잘 작동하지만 어떤 요청 후 데이터가 업데이트되지 않습니다. 그래서 일부 캐싱 문제가 있다고 생각합니다. & 캐싱을 비활성화하거나 각 리퀘스트에서 업데이트 된 데이터를 얻는 방법은 무엇입니까? bcoz i'v는 웹 클라이언트를 결코 사용하지 않습니다. 이 캐싱 문제에 대한 모든 솔루션이있는 경우 PLZ 의견을 & 위에 내 코드를 확인하거나 편집보다 사람이 웹 서비스를 사용하고 그래서 경우

........... 고맙습니다

답변

4

쉬운 해결 방법은 쿼리 문자열의 끝에서 earch 요청에 따라 변경되는 값을 추가 할 수 없습니다 "Cache-Control"헤더를 다음과 같이 수정합니다 :

wc.Headers["Cache-Control"] = "no-cache"; 
1

가 추가 요청에는 캐시 헤더 :

"?disablecache=" + Environment.TickCount 
+0

::'Headers.Add'이 Add' –

1

하는 시도 자체 :

wc.Headers.Add("Cache-Control: no-cache"); 
+0

'에 오류를 보여주는, 지원되지 않습니다 여전히 (데이터가 업데이트되지 않음) 다른 방법으로 작동하지 고쳐? –

+0

Olvier Payen의 트릭을 시도해 보셨습니까? –

+0

Yape !!! 그 작업 –

0

나는 또한 올리버의 트릭을 시험해 보았습니다!

내 매개 변수가 있거나없는 요청을 처리하는 추가 매개 변수를 사용하는 데 문제가 있습니다.

그래서 나는 이것을 시도하고 일 :

WebClient wc = new WebClient();  
wc.Headers["If-Modified-Since"] = DateTimeOffset.Now.ToString(); 
관련 문제