我正在使用HttpClient PCL类库。但是当我第一次获得JSON结果时它会返回正确的数据。之后,HttpClient一次又一次地为一个URL返回相同的JSON结果,直到我关闭应用程序并再次启动它。我的代码看起来像那样
public class HttpService : IHttpService
{
public async Task<TResponseType> GetAsync<TResponseType>(string method, string parameters = null) where TResponseType : class
{
var uri = new Uri(string.Format(Constants.ServerUrl + method + parameters));
using (var client=new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
"c2Rzb2w6c2Rzb2w5OQ==");
var response = await client.GetAsync(uri);
var result = response.Content.ReadAsStringAsync().Result;
return JsonConvert.DeserializeObject<TResponseType>(result);
}
}
}
答案 0 :(得分:2)
正如different question的答案中所述,解决方案是设置IfModifiedSince
属性以防止出现如下默认缓存行为:
httpClient.DefaultRequestHeaders.IfModifiedSince = DateTime.Now;
您还可以查看MSDN以获取更多信息。