Windows.Web.Http.HttpClient.GetStringAsync 总是返回相同的结果

今天在测试博客园新闻WP8.1客户端的是否,发现电脑上浏览的新闻已经更新了。但手机上的还没更新,于是想到肯定是有bug了。于是建了一个Web测试项目,发现只有第一次发出了请求。一开始以为是MVVM的问题,后来才发现,原来是HttpClient这个类的问题。

HttpClient会对相同Uri的Get请求进行本地缓存。

解决方法:

1、在querystring上加上一个时间戳。

2、在创建HttpClient时,加一个Filter。

1 var filter = new HttpBaseProtocolFilter();
2 filter.CacheControl.ReadBehavior = HttpCacheReadBehavior.MostRecent;
3 using (var client = new HttpClient(filter))
4 {
5     var html = await client.GetStringAsync();  
6 }

 

Windows.Web.Http.HttpClient.GetStringAsync 总是返回相同的结果

上一篇:利用C#序列化和反序列化json


下一篇:C#面试基础知识2