Json HttpClient dosen';更新WP8后无法获取数据

Json HttpClient dosen';更新WP8后无法获取数据,json,windows-phone-8,dotnet-httpclient,Json,Windows Phone 8,Dotnet Httpclient,我使用以下代码从WP8的API获取JSON数据: HttpClient client = new HttpClient(); client.BaseAddress = new Uri(mainURL.ToString()); HttpResponseMessage response = await client.GetAsync(""); string res = await response.Content.ReadAsStringAsync(); var root = await JsonC

我使用以下代码从WP8的API获取JSON数据:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri(mainURL.ToString());
HttpResponseMessage response = await client.GetAsync("");
string res = await response.Content.ReadAsStringAsync();
var root = await JsonConvert.DeserializeObjectAsync<Rootobject>(res);
HttpClient=newhttpclient();
client.BaseAddress=新Uri(mainURL.ToString());
HttpResponseMessage response=wait client.GetAsync(“”);
string res=wait response.Content.ReadAsStringAsync();
var root=await JsonConvert.DeserializeObjectAsync(res);
一切都很完美,但是当我从web站点更新web API上的数据并尝试再次使用此代码检索数据时,它会获取旧数据,即使在浏览器中访问URL也会获取新数据

当我逐行调试时,我看到“response”对象包含旧数据

我发现解决这个问题的唯一方法是以这种方式重建项目


如何正确获取更新的数据?

我也有同样的问题。我试过这个也许对你有帮助

HttpWebRequest request = HttpWebRequest.CreateHttp(mainURL.ToString());
     request.Method = "GET or Post";
     request.BeginGetResponse(ResponseCallBack, request);


    void ResponseCallBack(IAsyncResult asyncResult)
     {
     HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState;
                    HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult);
                   using (Stream data = response.GetResponseStream())
                            {
                                using (var reader = new StreamReader(data))
                                {
                                    string jsonString = reader.ReadToEnd();
                                    MemoryStream memoryStream = new MemoryStream(Encoding.Unicode.GetBytes(jsonString));
                                    DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(Rootobject));
                                    Rootobject yourdata= dataContractJsonSerializer.ReadObject(memoryStream) as Rootobject;

                                }
                            }
     }

可能涉及一些缓存。尝试向URL添加一些随机字符串,如

client.BaseAddress = new Uri(mainURL.ToString()+"&random="+DateTime.Now.Ticks);