2016-10-03 1 views
0

다음 코드를 사용하여 API 호출을 실행하고 서버에서 레코드를 가져옵니다. 전화 8.1 winRT App, 레코드는 처음에는 올바르게되지만 두 번째 시간이 지나면 업데이트 된 레코드를 반환하지 않고 이전 레코드 만 반환하지만 내 Windows phone 앱을 닫고 같은 API를 다시 가져 와서 업데이트 된 레코드를 반환합니다. 아래의 API 호출의 데이터를 새로 고칠 방법을 얻을 수있어 우리가 IfModifiedSince 속성을 사용할 필요가 처음으로 조회 한 후 API 호출에서 업데이트 된 레코드를 가져올 수 없습니다. (Windows Phone 8.1)

using (var client = new HttpClient()) 
      { 
       client.BaseAddress = new Uri(Utility.managePaymentBeneficiary); 
       client.DefaultRequestHeaders.Accept.Clear(); 
       client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
       client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("utf-8")); 
       client.DefaultRequestHeaders.Add("sessionID", AppContext.CurrentAppContext().UserContext.sessionID); 
       client.DefaultRequestHeaders.Add("deviceID", CommonFunction.GetDeviceID()); 
       var request = await client.GetAsync(client.BaseAddress); 
       request.EnsureSuccessStatusCode();      
       if (request.IsSuccessStatusCode) 
       { 
        var response = await request.Content.ReadAsStringAsync(); 
        getpaymentbeneficiaries = JSONHelper.Deserialize<PaymentBeneficiaryModel>(response); 
       } 
      } 

답변

0

문제는 get 메소드의 캐시입니다

client.DefaultRequestHeaders.IfModifiedSince = DateTime.UtcNow;