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

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows.Web.Http.HttpClient.GetStringAsync 总是返回相同的结果相关的知识,希望对你有一定的参考价值。

原文: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 总是返回相同的结果的主要内容,如果未能解决你的问题,请参考以下文章